from -ac / redhat location of code moved upwards a bit diff -urN 28rc1/drivers/cdrom/cdrom.c 28rc1_aac/drivers/cdrom/cdrom.c --- 28rc1/drivers/cdrom/cdrom.c 2003-11-28 20:26:20.000000000 +0200 +++ 28rc1_aac/drivers/cdrom/cdrom.c 2004-10-24 00:58:09.000000000 +0300 @@ -465,6 +465,10 @@ if ((cdi = cdrom_find_device(dev)) == NULL) return -ENODEV; + /* If the device is opened O_EXCL but there are other openers, return busy */ + if ( (fp->f_flags & O_EXCL) && (cdi->use_count>0) ) + return -EBUSY; + if ((fp->f_mode & FMODE_WRITE) && !CDROM_CAN(CDC_DVD_RAM)) return -EROFS;