From 0b1776340c1afb2b33b36d964efbb8d6bd3a8cb3 Mon Sep 17 00:00:00 2001 From: Luke Jones Date: Thu, 1 Nov 2018 22:57:16 +1300 Subject: [PATCH] Remove ancient 64-btrfs.rules so systemd provided rule is used This solves the failure to boot when the root fs is on a btrfs handled raid set-up. The reason it fails is typically because one or both disks failure are not initialised before the kernel wants to mount root. This generally affects only disks that are mounted during boot. Solves issues #1329 and #1980 --- conf/64-btrfs.rules | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/conf/64-btrfs.rules b/conf/64-btrfs.rules index 552773d5f..aad29afb8 100644 --- a/conf/64-btrfs.rules +++ b/conf/64-btrfs.rules @@ -1 +1,17 @@ -RUN+="/bin/mknod /dev/btrfs-control c 10 234" +# do not edit this file, it will be overwritten on update + +SUBSYSTEM!="block", GOTO="btrfs_end" +ACTION=="remove", GOTO="btrfs_end" +ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_end" +ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end" + +# let the kernel know about this btrfs filesystem, and check if it is complete +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+="@rootbindir@/udevadm trigger -s block -p ID_BTRFS_READY=0" + +LABEL="btrfs_end"