[ // Register information providers that knows block devices ( when: All([ Match("ACTION", "add"), Match("SUBSYSTEM", "block"), Match("DEVNODE", ".*"), ]), do: [ UseProvider("FSUUID", f("blkid -o value -s UUID {DEVNODE}")), ], on_error: Continue, ), ( when: Match("FSUUID", ""), do: [Unset("FSUUID")], ), ( when: All([ Match("ACTION", "add"), Match("SUBSYSTEM", "block"), Match("DEVNODE", ".*"), ]), do: [ UseProvider("FSLABEL", f("blkid -o value -s LABEL {DEVNODE}")), ], on_error: Continue, ), ( when: Match("FSLABEL", ""), do: [Unset("FSLABEL")], ), // Create link aliases for block devices ( when: All([ Match("ACTION", "add"), Match("SUBSYSTEM", "block"), Match("PARTUUID", ".+"), ]), do: [Add("SYMLINKS", f("{DEVROOT}/disk/by-partuuid/{PARTUUID}"))], ), ( when: All([ Match("ACTION", "add"), Match("SUBSYSTEM", "block"), Match("DISKSEQ", ".+"), Match("DEVTYPE", "disk"), ]), do: [Add("SYMLINKS", f("{DEVROOT}/disk/by-diskseq/{DISKSEQ}"))], ), ( when: All([ Match("ACTION", "add"), Match("SUBSYSTEM", "block"), Match("FSUUID", ".+"), ]), do: [Add("SYMLINKS", f("{DEVROOT}/disk/by-uuid/{FSUUID}"))], ), ( when: All([ Match("ACTION", "add"), Match("SUBSYSTEM", "block"), Match("FSLABEL", ".+"), ]), do: [Add("SYMLINKS", f("{DEVROOT}/disk/by-label/{FSLABEL}"))], ), ( when: All([ Match("ACTION", "add"), Match("SUBSYSTEM", "block"), Match("MAJOR", ".+"), Match("MINOR", ".+"), ]), do: [Add("SYMLINKS", f("{DEVROOT}/block/{MAJOR}:{MINOR}"))], ), ]