From: Jeremi Piotrowski Date: Wed, 8 Dec 2021 17:09:53 +0000 (-0800) Subject: libblkid/src/probe: check for ENOMEDIUM from ioctl(CDROM_LAST_WRITTEN) X-Git-Tag: v2.38-rc1~97 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c80b3f3200486d8f11a56afa9bb2c27b9cc4ffe3;p=thirdparty%2Futil-linux.git libblkid/src/probe: check for ENOMEDIUM from ioctl(CDROM_LAST_WRITTEN) The CD device on Azure VMs returns CDS_DISC_OK from CDROM_DRIVE_STATUS even when no disc is present. In that case an ENOMEDIUM from CDROM_LAST_WRITTEN follows. Catch that and return error to prevent probing which results in hundreds of "unaligned transfer" warnings in the kernel logbuffer. Signed-off-by: Jeremi Piotrowski --- diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c index 3685ea5e13..513649916d 100644 --- a/libblkid/src/probe.c +++ b/libblkid/src/probe.c @@ -994,8 +994,12 @@ int blkid_probe_set_device(blkid_probe pr, int fd, } # ifdef CDROM_LAST_WRITTEN - if (ioctl(fd, CDROM_LAST_WRITTEN, &last_written) == 0) + if (ioctl(fd, CDROM_LAST_WRITTEN, &last_written) == 0) { pr->flags |= BLKID_FL_CDROM_DEV; + } else { + if (errno == ENOMEDIUM) + goto err; + } # endif if (pr->flags & BLKID_FL_CDROM_DEV) {