Can't even build v20 due to compilation errors. DKMS make.log for ntfs3-20.0.0 for kernel 5.10.13-arch1-1 (x86_64) Sat Feb 6 01:20:00 +05 2021 make -C /lib/modules/5.10.13-arch1-1/build M=/var/lib/dkms/ntfs3/20.0.0/build modules make[1]: Entering directory '/usr/lib/modules/5.10.13-arch1-1/build' CC [M] /var/lib/dkms/ntfs3/20.0.0/build/attrib.o CC [M] /var/lib/dkms/ntfs3/20.0.0/build/attrlist.o CC [M] /var/lib/dkms/ntfs3/20.0.0/build/bitfunc.o CC [M] /var/lib/dkms/ntfs3/20.0.0/build/bitmap.o CC [M] /var/lib/dkms/ntfs3/20.0.0/build/dir.o CC [M] /var/lib/dkms/ntfs3/20.0.0/build/fsntfs.o CC [M] /var/lib/dkms/ntfs3/20.0.0/build/frecord.o CC [M] /var/lib/dkms/ntfs3/20.0.0/build/file.o /var/lib/dkms/ntfs3/20.0.0/build/file.c: In function ‘ntfs_getattr’: /var/lib/dkms/ntfs3/20.0.0/build/file.c:93:19: error: passing argument 1 of ‘generic_fillattr’ from incompatible pointer type [-Werror=incompatible-pointer-types] 93 | generic_fillattr(mnt_userns, inode, stat); | ^~~~~~~~~~ | | | struct user_namespace * In file included from ./include/linux/backing-dev.h:13, from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8: ./include/linux/fs.h:3095:30: note: expected ‘struct inode *’ but argument is of type ‘struct user_namespace *’ 3095 | extern void generic_fillattr(struct inode *, struct kstat *); | ^~~~~~~~~~~~~~ /var/lib/dkms/ntfs3/20.0.0/build/file.c:93:31: error: passing argument 2 of ‘generic_fillattr’ from incompatible pointer type [-Werror=incompatible-pointer-types] 93 | generic_fillattr(mnt_userns, inode, stat); | ^~~~~ | | | struct inode * In file included from ./include/linux/backing-dev.h:13, from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8: ./include/linux/fs.h:3095:46: note: expected ‘struct kstat *’ but argument is of type ‘struct inode *’ 3095 | extern void generic_fillattr(struct inode *, struct kstat *); | ^~~~~~~~~~~~~~ /var/lib/dkms/ntfs3/20.0.0/build/file.c:93:2: error: too many arguments to function ‘generic_fillattr’ 93 | generic_fillattr(mnt_userns, inode, stat); | ^~~~~~~~~~~~~~~~ In file included from ./include/linux/backing-dev.h:13, from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8: ./include/linux/fs.h:3095:13: note: declared here 3095 | extern void generic_fillattr(struct inode *, struct kstat *); | ^~~~~~~~~~~~~~~~ /var/lib/dkms/ntfs3/20.0.0/build/file.c: In function ‘ntfs3_setattr’: /var/lib/dkms/ntfs3/20.0.0/build/file.c:639:24: error: passing argument 1 of ‘setattr_prepare’ from incompatible pointer type [-Werror=incompatible-pointer-types] 639 | err = setattr_prepare(mnt_userns, dentry, attr); | ^~~~~~~~~~ | | | struct user_namespace * In file included from ./include/linux/backing-dev.h:13, from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8: ./include/linux/fs.h:3217:28: note: expected ‘struct dentry *’ but argument is of type ‘struct user_namespace *’ 3217 | extern int setattr_prepare(struct dentry *, struct iattr *); | ^~~~~~~~~~~~~~~ /var/lib/dkms/ntfs3/20.0.0/build/file.c:639:36: error: passing argument 2 of ‘setattr_prepare’ from incompatible pointer type [-Werror=incompatible-pointer-types] 639 | err = setattr_prepare(mnt_userns, dentry, attr); | ^~~~~~ | | | struct dentry * In file included from ./include/linux/backing-dev.h:13, from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8: ./include/linux/fs.h:3217:45: note: expected ‘struct iattr *’ but argument is of type ‘struct dentry *’ 3217 | extern int setattr_prepare(struct dentry *, struct iattr *); | ^~~~~~~~~~~~~~ /var/lib/dkms/ntfs3/20.0.0/build/file.c:639:8: error: too many arguments to function ‘setattr_prepare’ 639 | err = setattr_prepare(mnt_userns, dentry, attr); | ^~~~~~~~~~~~~~~ In file included from ./include/linux/backing-dev.h:13, from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8: ./include/linux/fs.h:3217:12: note: declared here 3217 | extern int setattr_prepare(struct dentry *, struct iattr *); | ^~~~~~~~~~~~~~~ /var/lib/dkms/ntfs3/20.0.0/build/file.c:664:15: error: passing argument 1 of ‘setattr_copy’ from incompatible pointer type [-Werror=incompatible-pointer-types] 664 | setattr_copy(mnt_userns, inode, attr); | ^~~~~~~~~~ | | | struct user_namespace * In file included from ./include/linux/backing-dev.h:13, from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8: ./include/linux/fs.h:3219:40: note: expected ‘struct inode *’ but argument is of type ‘struct user_namespace *’ 3219 | extern void setattr_copy(struct inode *inode, const struct iattr *attr); | ~~~~~~~~~~~~~~^~~~~ /var/lib/dkms/ntfs3/20.0.0/build/file.c:664:27: error: passing argument 2 of ‘setattr_copy’ from incompatible pointer type [-Werror=incompatible-pointer-types] 664 | setattr_copy(mnt_userns, inode, attr); | ^~~~~ | | | struct inode * In file included from ./include/linux/backing-dev.h:13, from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8: ./include/linux/fs.h:3219:67: note: expected ‘const struct iattr *’ but argument is of type ‘struct inode *’ 3219 | extern void setattr_copy(struct inode *inode, const struct iattr *attr); | ~~~~~~~~~~~~~~~~~~~~^~~~ /var/lib/dkms/ntfs3/20.0.0/build/file.c:664:2: error: too many arguments to function ‘setattr_copy’ 664 | setattr_copy(mnt_userns, inode, attr); | ^~~~~~~~~~~~ In file included from ./include/linux/backing-dev.h:13, from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8: ./include/linux/fs.h:3219:13: note: declared here 3219 | extern void setattr_copy(struct inode *inode, const struct iattr *attr); | ^~~~~~~~~~~~ /var/lib/dkms/ntfs3/20.0.0/build/file.c: At top level: /var/lib/dkms/ntfs3/20.0.0/build/file.c:1109:13: error: initialization of ‘int (*)(const struct path *, struct kstat *, u32, unsigned int)’ {aka ‘int (*)(const struct path *, struct kstat *, unsigned int, unsigned int)’} from incompatible pointer type ‘int (*)(struct user_namespace *, const struct path *, struct kstat *, u32, u32)’ {aka ‘int (*)(struct user_namespace *, const struct path *, struct kstat *, unsigned int, unsigned int)’} [-Werror=incompatible-pointer-types] 1109 | .getattr = ntfs_getattr, | ^~~~~~~~~~~~ /var/lib/dkms/ntfs3/20.0.0/build/file.c:1109:13: note: (near initialization for ‘ntfs_file_inode_operations.getattr’) /var/lib/dkms/ntfs3/20.0.0/build/file.c:1110:13: error: initialization of ‘int (*)(struct dentry *, struct iattr *)’ from incompatible pointer type ‘int (*)(struct user_namespace *, struct dentry *, struct iattr *)’ [-Werror=incompatible-pointer-types] 1110 | .setattr = ntfs3_setattr, | ^~~~~~~~~~~~~ /var/lib/dkms/ntfs3/20.0.0/build/file.c:1110:13: note: (near initialization for ‘ntfs_file_inode_operations.setattr’) /var/lib/dkms/ntfs3/20.0.0/build/file.c:1112:16: error: initialization of ‘int (*)(struct inode *, int)’ from incompatible pointer type ‘int (*)(struct user_namespace *, struct inode *, int)’ [-Werror=incompatible-pointer-types] 1112 | .permission = ntfs_permission, | ^~~~~~~~~~~~~~~ /var/lib/dkms/ntfs3/20.0.0/build/file.c:1112:16: note: (near initialization for ‘ntfs_file_inode_operations.permission’) /var/lib/dkms/ntfs3/20.0.0/build/file.c:1114:13: error: initialization of ‘int (*)(struct inode *, struct posix_acl *, int)’ from incompatible pointer type ‘int (*)(struct user_namespace *, struct inode *, struct posix_acl *, int)’ [-Werror=incompatible-pointer-types] 1114 | .set_acl = ntfs_set_acl, | ^~~~~~~~~~~~ /var/lib/dkms/ntfs3/20.0.0/build/file.c:1114:13: note: (near initialization for ‘ntfs_file_inode_operations.set_acl’) cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:279: /var/lib/dkms/ntfs3/20.0.0/build/file.o] Error 1 make[1]: *** [Makefile:1805: /var/lib/dkms/ntfs3/20.0.0/build] Error 2 make[1]: Leaving directory '/usr/lib/modules/5.10.13-arch1-1/build' make: *** [Makefile:37: all] Error 2