mirror of
https://github.com/systemd/systemd.git
synced 2024-12-23 21:35:11 +03:00
cdrom_id: add and use ID_CDROM_MEDIA to decide if we run vol_id
Some broken mobile phones offer a faked cdrom drive with a media without any tracks.
This commit is contained in:
parent
540f46698d
commit
f907449eee
@ -76,6 +76,7 @@ static unsigned int cd_mrw;
|
||||
static unsigned int cd_mrw_w;
|
||||
|
||||
/* media info */
|
||||
static unsigned int cd_media;
|
||||
static unsigned int cd_media_cd_rom;
|
||||
static unsigned int cd_media_cd_r;
|
||||
static unsigned int cd_media_cd_rw;
|
||||
@ -325,6 +326,8 @@ static int cd_profiles(struct udev *udev, int fd)
|
||||
return -1;
|
||||
}
|
||||
|
||||
cd_media = 1;
|
||||
|
||||
switch (cur_profile) {
|
||||
case 0x03:
|
||||
case 0x04:
|
||||
@ -625,6 +628,8 @@ print:
|
||||
if (cd_mrw_w)
|
||||
printf("ID_CDROM_MRW_W=1\n");
|
||||
|
||||
if (cd_media)
|
||||
printf("ID_CDROM_MEDIA=1\n");
|
||||
if (cd_media_mo)
|
||||
printf("ID_CDROM_MEDIA_MO=1\n");
|
||||
if (cd_media_mrw)
|
||||
|
@ -55,7 +55,7 @@ ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PA
|
||||
ENV{DEVTYPE}=="disk", KERNEL!="sd*|sr*", ATTR{removable}=="1", GOTO="persistent_storage_end"
|
||||
|
||||
# probe filesystem metadata of optical drives which have a media inserted
|
||||
KERNEL=="sr*", ENV{ID_CDROM_MEDIA_TRACK_COUNT}=="?*", IMPORT{program}="vol_id --export --skip-raid --offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET} $tempnode"
|
||||
KERNEL=="sr*", ENV{ID_CDROM_MEDIA}=="?*", IMPORT{program}="vol_id --export --skip-raid --offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET} $tempnode"
|
||||
|
||||
# probe filesystem metadata of disks
|
||||
KERNEL!="sr*", IMPORT{program}="vol_id --export $tempnode"
|
||||
|
Loading…
Reference in New Issue
Block a user