chiark / gitweb /
cdrom_id: Drop MEDIA_SESSION_NEXT for DVD-RW-RO
[elogind.git] / extras / cdrom_id / cdrom_id.c
index 83e95d581202a162d4534a6e450b63494481a3e6..f9d6e0bc24fe574aef4cc86189b516e553892567 100644 (file)
@@ -573,6 +573,7 @@ static int cd_media_info(struct udev *udev, int fd)
 
        cd_media = 1;
        info(udev, "disk type %02x\n", header[8]);
+       info(udev, "hardware reported media status: %s\n", media_status[header[2] & 3]);
 
        /* exclude plain CDROM, some fake cdroms return 0 for "blank" media here */
        if (!cd_media_cd_rom)
@@ -689,8 +690,9 @@ static int cd_media_info(struct udev *udev, int fd)
        }
 
 determined:
-       /* "other" is e. g. DVD-RAM, can't append sessions there either */
-       if ((header[2] & 3) < 2)
+       /* "other" is e. g. DVD-RAM, can't append sessions there; DVDs in
+        * restricted overwrite mode can never append, only in sequential mode */
+       if ((header[2] & 3) < 2 && !cd_media_dvd_rw_ro)
                cd_media_session_next = header[10] << 8 | header[5];
        cd_media_session_count = header[9] << 8 | header[4];
        cd_media_track_count = header[11] << 8 | header[6];