forked from mirrors/nixpkgs
92f94e901a
This allows us not to include any additional binaries for bcache support in initrd; just an udev rule.
53 lines
2.1 KiB
Diff
53 lines
2.1 KiB
Diff
This patch does two things:
|
|
1) Drops probe-bcache, so now new util-linux detecting functionality is used.
|
|
2) Drops bcache-register, using kmod (built in udev) and moving registering device
|
|
into rule using 'sh'.
|
|
This reduces things that need to be present in initrd, replacing them with already
|
|
existing functionality and reducing overall initrd size.
|
|
|
|
diff --git a/69-bcache.rules b/69-bcache.rules
|
|
index 5d28e70..6a52893 100644
|
|
--- a/69-bcache.rules
|
|
+++ b/69-bcache.rules
|
|
@@ -10,15 +10,11 @@ KERNEL=="fd*|sr*", GOTO="bcache_end"
|
|
# It recognised bcache (util-linux 2.24+)
|
|
ENV{ID_FS_TYPE}=="bcache", GOTO="bcache_backing_found"
|
|
# It recognised something else; bail
|
|
-ENV{ID_FS_TYPE}=="?*", GOTO="bcache_backing_end"
|
|
-
|
|
-# Backing devices: scan, symlink, register
|
|
-IMPORT{program}="probe-bcache -o udev $tempnode"
|
|
-ENV{ID_FS_TYPE}!="bcache", GOTO="bcache_backing_end"
|
|
-ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
|
|
+GOTO="bcache_backing_end"
|
|
|
|
LABEL="bcache_backing_found"
|
|
-RUN+="bcache-register $tempnode"
|
|
+RUN{builtin}+="kmod load bcache"
|
|
+RUN+="/bin/sh -c 'echo $tempnode > /sys/fs/bcache/register_quiet'"
|
|
LABEL="bcache_backing_end"
|
|
|
|
# Cached devices: symlink
|
|
diff --git a/Makefile b/Makefile
|
|
index 3f8d87b..15638a7 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -9,7 +9,7 @@ all: make-bcache probe-bcache bcache-super-show
|
|
|
|
install: make-bcache probe-bcache bcache-super-show
|
|
$(INSTALL) -m0755 make-bcache bcache-super-show $(DESTDIR)${PREFIX}/sbin/
|
|
- $(INSTALL) -m0755 probe-bcache bcache-register $(DESTDIR)$(UDEVLIBDIR)/
|
|
+# $(INSTALL) -m0755 probe-bcache bcache-register $(DESTDIR)$(UDEVLIBDIR)/
|
|
$(INSTALL) -m0644 69-bcache.rules $(DESTDIR)$(UDEVLIBDIR)/rules.d/
|
|
$(INSTALL) -m0644 -- *.8 $(DESTDIR)${PREFIX}/share/man/man8/
|
|
$(INSTALL) -D -m0755 initramfs/hook $(DESTDIR)/usr/share/initramfs-tools/hooks/bcache
|
|
diff --git a/bcache-register b/bcache-register
|
|
index 9b592bc..75b4faf 100755
|
|
--- a/bcache-register
|
|
+++ b/bcache-register
|
|
@@ -1,4 +1,3 @@
|
|
#!/bin/sh
|
|
-/sbin/modprobe -qba bcache
|
|
test -f /sys/fs/bcache/register_quiet && echo "$1" > /sys/fs/bcache/register_quiet
|
|
|