diff --git a/src/ugrd/fs/fakeudev.py b/src/ugrd/fs/fakeudev.py index 1b3e2206..1a2ba3aa 100644 --- a/src/ugrd/fs/fakeudev.py +++ b/src/ugrd/fs/fakeudev.py @@ -13,12 +13,16 @@ def fake_dm_udev(self) -> str: """returns a shell function to fake udev for dm devices.""" return r""" for dm in /sys/block/dm-*; do - if [ ! -e "${dm}/uevent" ]; then + if [ ! -e "${dm}/dev" ]; then continue fi - . "${dm}/uevent" - einfo "Faking udev for: ${DEVNAME}" - udev_db_file="/run/udev/data/b${MAJOR}:${MINOR}" + if [ ! -e "${dm}/dm/name" ]; then + continue + fi + dev_name=$(cat ${dm}/dm/name) + majmin=$(cat "${dm}/dev") + einfo "Faking udev for: ${dev_name}" + udev_db_file="/run/udev/data/b${majmin}" printf 'E:DM_UDEV_PRIMARY_SOURCE_FLAG=1\n' > "${udev_db_file}" done """