From: Sami Kerola Date: Sun, 10 Jun 2012 20:03:57 +0000 (+0200) Subject: eject: inform if CD-ROM drive is not ready X-Git-Tag: v2.22-rc1~277^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f31d041aaf0d63442b8c166f9be3eea5cb608f63;p=thirdparty%2Futil-linux.git eject: inform if CD-ROM drive is not ready Include file (see linux/cdrom.h lines 395 and 398) suggests ioctl() can return CDS_NO_INFO and CDS_DRIVE_NOT_READY, which where ignored. This commit will tell user what is going on. The commit will also make eject to crash in ioctl() will return unexpected value. Reference: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=include/linux/cdrom.h;h=dfd7f187c351440d2ffa81050e46ed2602877f73;hb=HEAD Signed-off-by: Sami Kerola --- diff --git a/sys-utils/eject.c b/sys-utils/eject.c index 4f3fb831f8..68f1f8504f 100644 --- a/sys-utils/eject.c +++ b/sys-utils/eject.c @@ -429,6 +429,14 @@ static void toggle_tray(int fd) if (eject_cdrom(fd)) err(EXIT_FAILURE, _("CD-ROM eject command failed")); return; + case CDS_NO_INFO: + warnx(_("no CD-ROM information available")); + return; + case CDS_DRIVE_NOT_READY: + warnx(_("CD-ROM drive is not ready")); + return; + default: + abort(); } #endif