Re: [PATCH v20 00/10] NTFS read-write driver GPL implementation by Paragon Software

From: Hanabishi Recca
Date: Fri Feb 05 2021 - 15:52:11 EST


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