Hi Coly, I modified the wrong patch and tested the new one. Please check it. 1) Build the module with the invalid patch: ------------------------------------- make O=../build/ M=drivers/md/bcache make[1]: Entering directory '/root/KERNEL/build' CC [M] drivers/md/bcache/alloc.o CC [M] drivers/md/bcache/bset.o CC [M] drivers/md/bcache/btree.o CC [M] drivers/md/bcache/closure.o CC [M] drivers/md/bcache/debug.o CC [M] drivers/md/bcache/extents.o CC [M] drivers/md/bcache/io.o CC [M] drivers/md/bcache/journal.o CC [M] drivers/md/bcache/movinggc.o CC [M] drivers/md/bcache/request.o CC [M] drivers/md/bcache/stats.o CC [M] drivers/md/bcache/super.o /root/KERNEL/linux/drivers/md/bcache/super.c: In function cached_dev_detach_finish: /root/KERNEL/linux/drivers/md/bcache/super.c:994:34: error: invalid type argument of -> (have struct bcache_device) calc_cached_dev_sectors(dc->disk->c); ^~ /root/KERNEL/linux/scripts/Makefile.build:317: recipe for target 'drivers/md/bcache/super.o' failed make[2]: *** [drivers/md/bcache/super.o] Error 1 /root/KERNEL/linux/Makefile:1500: recipe for target '_module_drivers/md/bcache' failed make[1]: *** [_module_drivers/md/bcache] Error 2 make[1]: Leaving directory '/root/KERNEL/build' Makefile:146: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 2) Build the module with new patch: ----------------------------------- make O=../build/ M=drivers/md/bcache make[1]: Entering directory '/root/KERNEL/build' CC [M] drivers/md/bcache/super.o CC [M] drivers/md/bcache/sysfs.o CC [M] drivers/md/bcache/trace.o CC [M] drivers/md/bcache/util.o CC [M] drivers/md/bcache/writeback.o LD [M] drivers/md/bcache/bcache.o Building modules, stage 2. MODPOST 1 modules CC drivers/md/bcache/bcache.mod.o LD [M] drivers/md/bcache/bcache.ko make[1]: Leaving directory '/root/KERNEL/build' Regards, shenghui{.n++%ݶw{.n+{r{ayʇڙ,jfhz_(階ݢj"mG?&~