diff --git a/modules.d/90btrfs/80-btrfs.rules b/modules.d/90btrfs/80-btrfs.rules index f4a37878..a2c1727a 100644 --- a/modules.d/90btrfs/80-btrfs.rules +++ b/modules.d/90btrfs/80-btrfs.rules @@ -4,6 +4,5 @@ ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_end" RUN+="/sbin/btrfs device scan $env{DEVNAME}" RUN+="/sbin/initqueue --finished --unique --name btrfs_finished /sbin/btrfs_finished" -RUN+="/sbin/initqueue --timeout --onetime --unique --name btrfs_timeout /sbin/btrfs_timeout" LABEL="btrfs_end" diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh index 5decb989..f6bd648a 100755 --- a/modules.d/90btrfs/module-setup.sh +++ b/modules.d/90btrfs/module-setup.sh @@ -30,16 +30,19 @@ installkernel() { } install() { - inst_rules "$moddir/80-btrfs.rules" - inst_script "$moddir/btrfs_timeout.sh" /sbin/btrfs_timeout + if ! inst_rules 64-btrfs.rules; then + inst_rules "$moddir/80-btrfs.rules" + case "$(btrfs --help)" in + *device\ ready*) + inst_script "$moddir/btrfs_device_ready.sh" /sbin/btrfs_finished ;; + *) + inst_script "$moddir/btrfs_finished.sh" /sbin/btrfs_finished ;; + esac + fi + + inst_script "$moddir/btrfs_timeout.sh" \ + /usr/lib/dracut/hooks/initqueue/timeout/btrfs_timeout.sh dracut_install btrfsck inst $(command -v btrfs) /sbin/btrfs - - case "$(btrfs --help)" in - *device\ ready*) - inst_script "$moddir/btrfs_device_ready.sh" /sbin/btrfs_finished ;; - *) - inst_script "$moddir/btrfs_finished.sh" /sbin/btrfs_finished ;; - esac }