udev/cdrom: make media_lock() return negative errno

This commit is contained in:
Yu Watanabe 2020-12-24 17:06:50 +09:00 committed by Luca Boccassi
parent 4fe9ab406e
commit 138dd9545a
1 changed files with 5 additions and 9 deletions

View 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) { static int media_lock(int fd, bool lock) {
int err;
/* disable the kernel's lock logic */ /* disable the kernel's lock logic */
err = ioctl(fd, CDROM_CLEAR_OPTIONS, CDO_LOCK); if (ioctl(fd, CDROM_CLEAR_OPTIONS, CDO_LOCK) < 0)
if (err < 0) log_debug_errno(errno, "Failed to issue ioctl(CDROM_CLEAR_OPTIONS, CDO_LOCK), ignoring: %m");
log_debug("CDROM_CLEAR_OPTIONS, CDO_LOCK failed");
err = ioctl(fd, CDROM_LOCKDOOR, lock ? 1 : 0); if (ioctl(fd, CDROM_LOCKDOOR, lock ? 1 : 0) < 0)
if (err < 0) return log_debug_errno(errno, "Failed to issue ioctl(CDROM_LOCKDOOR): %m");
log_debug("CDROM_LOCKDOOR failed");
return err; return 0;
} }
static int media_eject(int fd) { static int media_eject(int fd) {