From: g0tar Date: Thu, 7 Sep 2017 07:58:12 +0000 (+0200) Subject: assemble multidevice btrfs volumes without external tools (#6607) X-Git-Tag: v235~150 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0e8856d2;p=thirdparty%2Fsystemd.git assemble multidevice btrfs volumes without external tools (#6607) assemble multidevice btrfs volumes without external tools This self-contained approach introduce very little overhead, unless someone has a large number of devices composing many btrfs volumes, in which case btrfs device scan would be faster. Still, having robust implementation is a nice to have alternative for btrfs-progs. --- diff --git a/rules/64-btrfs.rules b/rules/64-btrfs.rules.in similarity index 71% rename from rules/64-btrfs.rules rename to rules/64-btrfs.rules.in index fe0100131e0..5b86b9b8e94 100644 --- a/rules/64-btrfs.rules +++ b/rules/64-btrfs.rules.in @@ -10,4 +10,7 @@ IMPORT{builtin}="btrfs ready $devnode" # mark the device as not ready to be used by the system ENV{ID_BTRFS_READY}=="0", ENV{SYSTEMD_READY}="0" +# reconsider pending devices in case when multidevice volume awaits +ENV{ID_BTRFS_READY}=="1", RUN+="@rootlibexecdir@/udevadm trigger -s block -p ID_BTRFS_READY=0" + LABEL="btrfs_end" diff --git a/rules/meson.build b/rules/meson.build index 7f4725ad65b..1bb43147e33 100644 --- a/rules/meson.build +++ b/rules/meson.build @@ -11,7 +11,6 @@ rules = files(''' 60-persistent-v4l.rules 60-sensor.rules 60-serial.rules - 64-btrfs.rules 70-joystick.rules 70-mouse.rules 70-touchpad.rules @@ -27,6 +26,7 @@ install_data(rules, rules_in = ''' 50-udev-default.rules + 64-btrfs.rules 99-systemd.rules '''.split()