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