From a0ec302b9309bc56f6bed6162e47ad6c27165747 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Tue, 12 Feb 2013 15:19:38 +0100 Subject: [PATCH] cdrom_id: add data track count for bad virtual drive implementations /# /lib/udev/cdrom_id --debug /dev/sr0 probing: '/dev/sr0' INQUIRY: [AMI ][Virtual CDROM ][1.00] GET CONFIGURATION failed with SK=5h/ASC=20h/ACQ=00h drive is pre-MMC2 and does not support 46h get configuration command trying to work around the problem READ DISC INFORMATION failed with SK=5h/ASC=20h/ACQ=00h no current profile, but disc is present; assuming CD-ROM READ TOC: len: 12, start track: 1, end track: 1 last track 1 starts at block 0 READ DISC INFORMATION failed with SK=5h/ASC=20h/ACQ=00h ID_CDROM=1 ID_CDROM_MEDIA=1 ID_CDROM_MEDIA_CD=1 What is missing here is ID_CDROM_MEDIA_TRACK_COUNT_DATA to trigger blkid in /lib/udev/rules.d/60-persistent-storage.rules KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \ IMPORT{builtin}="blkid --noraid" --- src/udev/cdrom_id/cdrom_id.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/udev/cdrom_id/cdrom_id.c b/src/udev/cdrom_id/cdrom_id.c index 1056536b7d6..b659cc31ee2 100644 --- a/src/udev/cdrom_id/cdrom_id.c +++ b/src/udev/cdrom_id/cdrom_id.c @@ -513,6 +513,8 @@ static int cd_profiles_old_mmc(struct udev *udev, int fd) if (cd_media == 1) { log_debug("no current profile, but disc is present; assuming CD-ROM\n"); cd_media_cd_rom = 1; + cd_media_track_count = 1; + cd_media_track_count_data = 1; return 0; } else { log_debug("no current profile, assuming no media\n");