]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev/cdrom: make media_lock() return negative errno
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 24 Dec 2020 08:06:50 +0000 (17:06 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Fri, 8 Jan 2021 14:08:38 +0000 (14:08 +0000)
src/udev/cdrom_id/cdrom_id.c

index 186a0a25a168a11f329fd18f51b85e73ddd61ae3..3419e6ef050ab3876acb5f2b7846980254145f8a 100644 (file)
@@ -212,18 +212,14 @@ static int scsi_cmd_run_and_log(struct scsi_cmd *cmd, int fd, unsigned char *buf
 }
 
 static int media_lock(int fd, bool lock) {
-        int err;
-
         /* disable the kernel's lock logic */
-        err = ioctl(fd, CDROM_CLEAR_OPTIONS, CDO_LOCK);
-        if (err < 0)
-                log_debug("CDROM_CLEAR_OPTIONS, CDO_LOCK failed");
+        if (ioctl(fd, CDROM_CLEAR_OPTIONS, CDO_LOCK) < 0)
+                log_debug_errno(errno, "Failed to issue ioctl(CDROM_CLEAR_OPTIONS, CDO_LOCK), ignoring: %m");
 
-        err = ioctl(fd, CDROM_LOCKDOOR, lock ? 1 : 0);
-        if (err < 0)
-                log_debug("CDROM_LOCKDOOR failed");
+        if (ioctl(fd, CDROM_LOCKDOOR, lock ? 1 : 0) < 0)
+                return log_debug_errno(errno, "Failed to issue ioctl(CDROM_LOCKDOOR): %m");
 
-        return err;
+        return 0;
 }
 
 static int media_eject(int fd) {