From 1058ae28392dd1001246b600f66f2cd17bcd3102 Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Tue, 22 Apr 2025 23:33:56 -0400 Subject: [PATCH] set_blocksize() takes struct file argument. In v6.9-rc4-8-gead083aeeed9, this now takes a struct file argument, adding to the ifdef salad we've got going on here. Signed-off-by: Auke Kok --- kmod/src/Makefile.kernelcompat | 8 ++++++++ kmod/src/super.c | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/kmod/src/Makefile.kernelcompat b/kmod/src/Makefile.kernelcompat index e8d23274..c99e046d 100644 --- a/kmod/src/Makefile.kernelcompat +++ b/kmod/src/Makefile.kernelcompat @@ -501,3 +501,11 @@ endif ifneq (,$(shell grep 'struct shrinker .shrinker_alloc' include/linux/shrinker.h)) ccflags-y += -DKC_SHRINKER_ALLOC endif + +# +# v6.9-rc4-8-gead083aeeed9 +# +# set_blocksize() now has a struct file arg. +ifneq (,$(shell grep -s 'int set_blocksize.struct file' include/linux/blkdev.h)) +ccflags-y += -DKC_BLKDEV_SET_BLOCKSIZE_FILE +endif diff --git a/kmod/src/super.c b/kmod/src/super.c index 51801718..2d806568 100644 --- a/kmod/src/super.c +++ b/kmod/src/super.c @@ -552,6 +552,7 @@ static int scoutfs_fill_super(struct super_block *sb, void *data, int silent) } sbi->meta_bdev_file = meta_bdev_file; sbi->meta_bdev = file_bdev(meta_bdev_file); + #else #ifdef KC_BLKDEV_PUT_HOLDER_ARG meta_bdev = blkdev_get_by_path(opts.metadev_path, SCOUTFS_META_BDEV_MODE, sb, NULL); @@ -567,7 +568,11 @@ static int scoutfs_fill_super(struct super_block *sb, void *data, int silent) sbi->meta_bdev = meta_bdev; #endif +#ifdef KC_BLKDEV_SET_BLOCKSIZE_FILE + ret = set_blocksize(sbi->meta_bdev_file, SCOUTFS_BLOCK_SM_SIZE); +#else ret = set_blocksize(sbi->meta_bdev, SCOUTFS_BLOCK_SM_SIZE); +#endif if (ret != 0) { scoutfs_err(sb, "failed to set metadev blocksize, returned %d", ret);