diff --git a/kmod/src/Makefile.kernelcompat b/kmod/src/Makefile.kernelcompat index 74079e66..849fa7df 100644 --- a/kmod/src/Makefile.kernelcompat +++ b/kmod/src/Makefile.kernelcompat @@ -547,6 +547,13 @@ ifneq (,$(shell grep -s 'define __assign_str.dst, src' \ ccflags-y += -DKC_HAVE_ASSIGN_STR_PARMS endif +# +# v6.5-113-g615e95831ec3 +# +ifneq (,$(shell grep 'generic_fillattr..*,.u32,' include/linux/fs.h)) +ccflags-y += -DKC_GENERIC_FILLATTR_REQUEST_MASK +endif + # # v6.6-rc4-53-gc42d50aefd17 # diff --git a/kmod/src/inode.c b/kmod/src/inode.c index 6ee0861f..5f853fab 100644 --- a/kmod/src/inode.c +++ b/kmod/src/inode.c @@ -398,6 +398,7 @@ int scoutfs_getattr(KC_VFS_NS_DEF SCOUTFS_LKF_REFRESH_INODE, inode, &lock); if (ret == 0) { generic_fillattr(KC_VFS_INIT_NS + KC_FILLATTR_REQUEST_MASK inode, stat); scoutfs_unlock(sb, lock, SCOUTFS_LOCK_READ); } diff --git a/kmod/src/kernelcompat.h b/kmod/src/kernelcompat.h index f0eb179f..6fe22ac5 100644 --- a/kmod/src/kernelcompat.h +++ b/kmod/src/kernelcompat.h @@ -310,6 +310,12 @@ typedef unsigned int blk_opf_t; #endif #endif /* KC_VFS_METHOD_MNT_IDMAP_ARG */ +#ifdef KC_GENERIC_FILLATTR_REQUEST_MASK +#define KC_FILLATTR_REQUEST_MASK request_mask, +#else +#define KC_FILLATTR_REQUEST_MASK +#endif + #ifdef KC_BIO_ALLOC_DEV_OPF_ARGS #define kc_bio_alloc bio_alloc #else