mirror of
https://github.com/systemd/systemd.git
synced 2025-03-28 02:50:16 +03:00
udev: add flag to allow disabling blkid probing
This can be useful for users of slow block devices. For example, the persistent-storage rules are needed for USB floppy drives be recognized by udisks2, but the extra blkid calls cause thrashing for 25+ seconds after every disk change. With this change, a user wishing to avoid the extra blkid invocation(s) could create /etc/udev/rules.d/55-floppy-noprobe.rules as follows: # Don't probe PC floppy drives SUBSYSTEM=="block", KERNEL=="fd*", \ ENV{UDEV_DISABLE_PERSISTENT_STORAGE_BLKID_FLAG}="1" # Don't probe USB floppy drives SUBSYSTEM=="block", SUBSYSTEMS=="usb", \ ATTRS{bInterfaceClass}=="08", ATTRS{bInterfaceSubClass}=="04", \ ENV{UDEV_DISABLE_PERSISTENT_STORAGE_BLKID_FLAG}="1" I didn't exclude floppies by default in this change, because floppy devices are also emulated by some BIOSes/hypervisors in some cases, and I don't know how many systems would fail to boot if /dev/disk/by-uuid/* became unavailable for 'floppy disks' on those systems.
This commit is contained in:
parent
c043291774
commit
b5e17d7fed
@ -99,6 +99,9 @@ ENV{DEVTYPE}=="partition", ENV{ID_PATH_ATA_COMPAT}=="?*", SYMLINK+="disk/by-path
|
||||
KERNEL=="vd*[!0-9]", ENV{ID_PATH}=="pci-*", SYMLINK+="disk/by-path/virtio-$env{ID_PATH}"
|
||||
KERNEL=="vd*[0-9]", ENV{ID_PATH}=="pci-*", SYMLINK+="disk/by-path/virtio-$env{ID_PATH}-part%n"
|
||||
|
||||
# allow admin to disable probing the filesystem for slow devices like floppy disk drives
|
||||
ENV{UDEV_DISABLE_PERSISTENT_STORAGE_BLKID_FLAG}=="1", GOTO="persistent_storage_blkid_probe_end"
|
||||
|
||||
# probe filesystem metadata of optical drives which have a media inserted
|
||||
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="?*", \
|
||||
IMPORT{builtin}="blkid --hint=session_offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}"
|
||||
@ -109,6 +112,8 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DAT
|
||||
# probe filesystem metadata of disks
|
||||
KERNEL!="sr*|mmcblk[0-9]boot[0-9]", IMPORT{builtin}="blkid"
|
||||
|
||||
LABEL="persistent_storage_blkid_probe_end"
|
||||
|
||||
# by-label/by-uuid links (filesystem metadata)
|
||||
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
|
||||
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user