diff mbox series

[v20,09/10] fs/ntfs3: Add NTFS3 in fs/Kconfig and fs/Makefile

Message ID 20210205150244.542628-10-almaz.alexandrovich@paragon-software.com (mailing list archive)
State New, archived
Headers show
Series NTFS read-write driver GPL implementation by Paragon Software | expand

Commit Message

Konstantin Komarov Feb. 5, 2021, 3:02 p.m. UTC
This adds NTFS3 in fs/Kconfig and fs/Makefile

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
---
 fs/Kconfig  | 1 +
 fs/Makefile | 1 +
 2 files changed, 2 insertions(+)

Comments

kernel test robot Feb. 5, 2021, 9:07 p.m. UTC | #1
Hi Konstantin,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on dd86e7fa07a3ec33c92c957ea7b642c4702516a0]

url:    https://github.com/0day-ci/linux/commits/Konstantin-Komarov/NTFS-read-write-driver-GPL-implementation-by-Paragon-Software/20210206-032915
base:   dd86e7fa07a3ec33c92c957ea7b642c4702516a0
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/fc64675c044d5fc1e824fdc59526481d4f863cf7
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Konstantin-Komarov/NTFS-read-write-driver-GPL-implementation-by-Paragon-Software/20210206-032915
        git checkout fc64675c044d5fc1e824fdc59526481d4f863cf7
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

   In file included from fs/ntfs3/file.c:17:
   fs/ntfs3/ntfs.h:428:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
     428 | static const inline __le16 *attr_name(const struct ATTRIB *attr)
         | ^~~~~~
   fs/ntfs3/ntfs.h:545:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
     545 | static const inline __le16 *le_name(const struct ATTR_LIST_ENTRY *le)
         | ^~~~~~
   fs/ntfs3/file.c: In function 'ntfs_getattr':
   fs/ntfs3/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 fs/ntfs3/file.c:8:
   include/linux/fs.h:3093:30: note: expected 'struct inode *' but argument is of type 'struct user_namespace *'
    3093 | extern void generic_fillattr(struct inode *, struct kstat *);
         |                              ^~~~~~~~~~~~~~
   fs/ntfs3/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 fs/ntfs3/file.c:8:
   include/linux/fs.h:3093:46: note: expected 'struct kstat *' but argument is of type 'struct inode *'
    3093 | extern void generic_fillattr(struct inode *, struct kstat *);
         |                                              ^~~~~~~~~~~~~~
>> fs/ntfs3/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 fs/ntfs3/file.c:8:
   include/linux/fs.h:3093:13: note: declared here
    3093 | extern void generic_fillattr(struct inode *, struct kstat *);
         |             ^~~~~~~~~~~~~~~~
   fs/ntfs3/file.c: In function 'ntfs_truncate':
   fs/ntfs3/file.c:402:6: warning: variable 'vcn' set but not used [-Wunused-but-set-variable]
     402 |  u32 vcn;
         |      ^~~
   fs/ntfs3/file.c: In function 'ntfs3_setattr':
   fs/ntfs3/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 fs/ntfs3/file.c:8:
   include/linux/fs.h:3214:28: note: expected 'struct dentry *' but argument is of type 'struct user_namespace *'
    3214 | extern int setattr_prepare(struct dentry *, struct iattr *);
         |                            ^~~~~~~~~~~~~~~
   fs/ntfs3/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 fs/ntfs3/file.c:8:
   include/linux/fs.h:3214:45: note: expected 'struct iattr *' but argument is of type 'struct dentry *'
    3214 | extern int setattr_prepare(struct dentry *, struct iattr *);
         |                                             ^~~~~~~~~~~~~~
>> fs/ntfs3/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 fs/ntfs3/file.c:8:
   include/linux/fs.h:3214:12: note: declared here
    3214 | extern int setattr_prepare(struct dentry *, struct iattr *);
         |            ^~~~~~~~~~~~~~~
   fs/ntfs3/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 fs/ntfs3/file.c:8:
   include/linux/fs.h:3216:40: note: expected 'struct inode *' but argument is of type 'struct user_namespace *'
    3216 | extern void setattr_copy(struct inode *inode, const struct iattr *attr);
         |                          ~~~~~~~~~~~~~~^~~~~
   fs/ntfs3/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 fs/ntfs3/file.c:8:
   include/linux/fs.h:3216:67: note: expected 'const struct iattr *' but argument is of type 'struct inode *'
    3216 | extern void setattr_copy(struct inode *inode, const struct iattr *attr);
         |                                               ~~~~~~~~~~~~~~~~~~~~^~~~
>> fs/ntfs3/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 fs/ntfs3/file.c:8:
   include/linux/fs.h:3216:13: note: declared here
    3216 | extern void setattr_copy(struct inode *inode, const struct iattr *attr);
         |             ^~~~~~~~~~~~
   fs/ntfs3/file.c: At top level:
>> fs/ntfs3/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,
         |             ^~~~~~~~~~~~
   fs/ntfs3/file.c:1109:13: note: (near initialization for 'ntfs_file_inode_operations.getattr')
>> fs/ntfs3/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,
         |             ^~~~~~~~~~~~~
   fs/ntfs3/file.c:1110:13: note: (near initialization for 'ntfs_file_inode_operations.setattr')
>> fs/ntfs3/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,
         |                ^~~~~~~~~~~~~~~
   fs/ntfs3/file.c:1112:16: note: (near initialization for 'ntfs_file_inode_operations.permission')
>> fs/ntfs3/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,
         |             ^~~~~~~~~~~~
   fs/ntfs3/file.c:1114:13: note: (near initialization for 'ntfs_file_inode_operations.set_acl')
   cc1: some warnings being treated as errors
--
   In file included from fs/ntfs3/inode.c:20:
   fs/ntfs3/ntfs.h:428:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
     428 | static const inline __le16 *attr_name(const struct ATTRIB *attr)
         | ^~~~~~
   fs/ntfs3/ntfs.h:545:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
     545 | static const inline __le16 *le_name(const struct ATTR_LIST_ENTRY *le)
         | ^~~~~~
>> fs/ntfs3/inode.c:2036: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]
    2036 |  .setattr = ntfs3_setattr,
         |             ^~~~~~~~~~~~~
   fs/ntfs3/inode.c:2036:13: note: (near initialization for 'ntfs_link_inode_operations.setattr')
>> fs/ntfs3/inode.c:2038:16: error: initialization of 'int (*)(struct inode *, int)' from incompatible pointer type 'int (*)(struct user_namespace *, struct inode *, int)' [-Werror=incompatible-pointer-types]
    2038 |  .permission = ntfs_permission,
         |                ^~~~~~~~~~~~~~~
   fs/ntfs3/inode.c:2038:16: note: (near initialization for 'ntfs_link_inode_operations.permission')
>> fs/ntfs3/inode.c:2040: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]
    2040 |  .set_acl = ntfs_set_acl,
         |             ^~~~~~~~~~~~
   fs/ntfs3/inode.c:2040:13: note: (near initialization for 'ntfs_link_inode_operations.set_acl')
   cc1: some warnings being treated as errors
--
   In file included from fs/ntfs3/index.c:14:
   fs/ntfs3/ntfs.h:428:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
     428 | static const inline __le16 *attr_name(const struct ATTRIB *attr)
         | ^~~~~~
   fs/ntfs3/ntfs.h:545:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
     545 | static const inline __le16 *le_name(const struct ATTR_LIST_ENTRY *le)
         | ^~~~~~
   fs/ntfs3/index.c:546:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
     546 | static const inline struct NTFS_DE *hdr_find_split(const struct INDEX_HDR *hdr)
         | ^~~~~~
   fs/ntfs3/index.c:577:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
     577 | static const inline struct NTFS_DE *
         | ^~~~~~
   fs/ntfs3/index.c: In function 'indx_add_allocate':
>> fs/ntfs3/index.c:1457:17: warning: variable 'alloc_size' set but not used [-Wunused-but-set-variable]
    1457 |  u64 data_size, alloc_size;
         |                 ^~~~~~~~~~
   fs/ntfs3/index.c: In function 'indx_insert_into_root':
>> fs/ntfs3/index.c:1547:8: warning: variable 'next' set but not used [-Wunused-but-set-variable]
    1547 |  char *next;
         |        ^~~~
>> fs/ntfs3/index.c:1544:40: warning: variable 'aoff' set but not used [-Wunused-but-set-variable]
    1544 |  u32 hdr_used, hdr_total, asize, used, aoff, to_move;
         |                                        ^~~~
--
   In file included from fs/ntfs3/namei.c:16:
   fs/ntfs3/ntfs.h:428:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
     428 | static const inline __le16 *attr_name(const struct ATTRIB *attr)
         | ^~~~~~
   fs/ntfs3/ntfs.h:545:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
     545 | static const inline __le16 *le_name(const struct ATTR_LIST_ENTRY *le)
         | ^~~~~~
>> fs/ntfs3/namei.c:577:12: error: initialization of 'int (*)(struct inode *, struct dentry *, umode_t,  bool)' {aka 'int (*)(struct inode *, struct dentry *, short unsigned int,  _Bool)'} from incompatible pointer type 'int (*)(struct user_namespace *, struct inode *, struct dentry *, umode_t,  bool)' {aka 'int (*)(struct user_namespace *, struct inode *, struct dentry *, short unsigned int,  _Bool)'} [-Werror=incompatible-pointer-types]
     577 |  .create = ntfs_create,
         |            ^~~~~~~~~~~
   fs/ntfs3/namei.c:577:12: note: (near initialization for 'ntfs_dir_inode_operations.create')
>> fs/ntfs3/namei.c:580:13: error: initialization of 'int (*)(struct inode *, struct dentry *, const char *)' from incompatible pointer type 'int (*)(struct user_namespace *, struct inode *, struct dentry *, const char *)' [-Werror=incompatible-pointer-types]
     580 |  .symlink = ntfs_symlink,
         |             ^~~~~~~~~~~~
   fs/ntfs3/namei.c:580:13: note: (near initialization for 'ntfs_dir_inode_operations.symlink')
>> fs/ntfs3/namei.c:581:11: error: initialization of 'int (*)(struct inode *, struct dentry *, umode_t)' {aka 'int (*)(struct inode *, struct dentry *, short unsigned int)'} from incompatible pointer type 'int (*)(struct user_namespace *, struct inode *, struct dentry *, umode_t)' {aka 'int (*)(struct user_namespace *, struct inode *, struct dentry *, short unsigned int)'} [-Werror=incompatible-pointer-types]
     581 |  .mkdir = ntfs_mkdir,
         |           ^~~~~~~~~~
   fs/ntfs3/namei.c:581:11: note: (near initialization for 'ntfs_dir_inode_operations.mkdir')
>> fs/ntfs3/namei.c:583:12: error: initialization of 'int (*)(struct inode *, struct dentry *, struct inode *, struct dentry *, unsigned int)' from incompatible pointer type 'int (*)(struct user_namespace *, struct inode *, struct dentry *, struct inode *, struct dentry *, u32)' {aka 'int (*)(struct user_namespace *, struct inode *, struct dentry *, struct inode *, struct dentry *, unsigned int)'} [-Werror=incompatible-pointer-types]
     583 |  .rename = ntfs_rename,
         |            ^~~~~~~~~~~
   fs/ntfs3/namei.c:583:12: note: (near initialization for 'ntfs_dir_inode_operations.rename')
>> fs/ntfs3/namei.c:584:16: error: initialization of 'int (*)(struct inode *, int)' from incompatible pointer type 'int (*)(struct user_namespace *, struct inode *, int)' [-Werror=incompatible-pointer-types]
     584 |  .permission = ntfs_permission,
         |                ^~~~~~~~~~~~~~~
   fs/ntfs3/namei.c:584:16: note: (near initialization for 'ntfs_dir_inode_operations.permission')
>> fs/ntfs3/namei.c:586: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]
     586 |  .set_acl = ntfs_set_acl,
         |             ^~~~~~~~~~~~
   fs/ntfs3/namei.c:586:13: note: (near initialization for 'ntfs_dir_inode_operations.set_acl')
>> fs/ntfs3/namei.c:587: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]
     587 |  .setattr = ntfs3_setattr,
         |             ^~~~~~~~~~~~~
   fs/ntfs3/namei.c:587:13: note: (near initialization for 'ntfs_dir_inode_operations.setattr')
>> fs/ntfs3/namei.c:588: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]
     588 |  .getattr = ntfs_getattr,
         |             ^~~~~~~~~~~~
   fs/ntfs3/namei.c:588:13: note: (near initialization for 'ntfs_dir_inode_operations.getattr')
   cc1: some warnings being treated as errors
--
   In file included from fs/ntfs3/xattr.c:17:
   fs/ntfs3/ntfs.h:428:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
     428 | static const inline __le16 *attr_name(const struct ATTRIB *attr)
         | ^~~~~~
   fs/ntfs3/ntfs.h:545:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
     545 | static const inline __le16 *le_name(const struct ATTR_LIST_ENTRY *le)
         | ^~~~~~
   fs/ntfs3/xattr.c: In function 'ntfs_xattr_set_acl':
>> fs/ntfs3/xattr.c:656:30: error: passing argument 1 of 'inode_owner_or_capable' from incompatible pointer type [-Werror=incompatible-pointer-types]
     656 |  if (!inode_owner_or_capable(mnt_userns, inode))
         |                              ^~~~~~~~~~
         |                              |
         |                              struct user_namespace *
   In file included from include/linux/huge_mm.h:8,
                    from include/linux/mm.h:703,
                    from include/linux/bvec.h:14,
                    from include/linux/blk_types.h:10,
                    from include/linux/genhd.h:19,
                    from include/linux/blkdev.h:8,
                    from fs/ntfs3/xattr.c:8:
   include/linux/fs.h:1718:56: note: expected 'const struct inode *' but argument is of type 'struct user_namespace *'
    1718 | extern bool inode_owner_or_capable(const struct inode *inode);
         |                                    ~~~~~~~~~~~~~~~~~~~~^~~~~
>> fs/ntfs3/xattr.c:656:7: error: too many arguments to function 'inode_owner_or_capable'
     656 |  if (!inode_owner_or_capable(mnt_userns, inode))
         |       ^~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/huge_mm.h:8,
                    from include/linux/mm.h:703,
                    from include/linux/bvec.h:14,
                    from include/linux/blk_types.h:10,
                    from include/linux/genhd.h:19,
                    from include/linux/blkdev.h:8,
                    from fs/ntfs3/xattr.c:8:
   include/linux/fs.h:1718:13: note: declared here
    1718 | extern bool inode_owner_or_capable(const struct inode *inode);
         |             ^~~~~~~~~~~~~~~~~~~~~~
   fs/ntfs3/xattr.c: In function 'ntfs_acl_chmod':
   fs/ntfs3/xattr.c:755:25: error: passing argument 1 of 'posix_acl_chmod' from incompatible pointer type [-Werror=incompatible-pointer-types]
     755 |  return posix_acl_chmod(mnt_userns, inode, inode->i_mode);
         |                         ^~~~~~~~~~
         |                         |
         |                         struct user_namespace *
   In file included from fs/ntfs3/xattr.c:12:
   include/linux/posix_acl.h:75:28: note: expected 'struct inode *' but argument is of type 'struct user_namespace *'
      75 | extern int posix_acl_chmod(struct inode *, umode_t);
         |                            ^~~~~~~~~~~~~~
>> fs/ntfs3/xattr.c:755:37: warning: passing argument 2 of 'posix_acl_chmod' makes integer from pointer without a cast [-Wint-conversion]
     755 |  return posix_acl_chmod(mnt_userns, inode, inode->i_mode);
         |                                     ^~~~~
         |                                     |
         |                                     struct inode *
   In file included from fs/ntfs3/xattr.c:12:
   include/linux/posix_acl.h:75:44: note: expected 'umode_t' {aka 'short unsigned int'} but argument is of type 'struct inode *'
      75 | extern int posix_acl_chmod(struct inode *, umode_t);
         |                                            ^~~~~~~
>> fs/ntfs3/xattr.c:755:9: error: too many arguments to function 'posix_acl_chmod'
     755 |  return posix_acl_chmod(mnt_userns, inode, inode->i_mode);
         |         ^~~~~~~~~~~~~~~
   In file included from fs/ntfs3/xattr.c:12:
   include/linux/posix_acl.h:75:12: note: declared here
      75 | extern int posix_acl_chmod(struct inode *, umode_t);
         |            ^~~~~~~~~~~~~~~
   fs/ntfs3/xattr.c: In function 'ntfs_permission':
   fs/ntfs3/xattr.c:771:28: error: passing argument 1 of 'generic_permission' from incompatible pointer type [-Werror=incompatible-pointer-types]
     771 |  return generic_permission(mnt_userns, inode, mask);
         |                            ^~~~~~~~~~
         |                            |
         |                            struct user_namespace *
   In file included from include/linux/huge_mm.h:8,
                    from include/linux/mm.h:703,
                    from include/linux/bvec.h:14,
                    from include/linux/blk_types.h:10,
                    from include/linux/genhd.h:19,
                    from include/linux/blkdev.h:8,
                    from fs/ntfs3/xattr.c:8:
   include/linux/fs.h:2761:31: note: expected 'struct inode *' but argument is of type 'struct user_namespace *'
    2761 | extern int generic_permission(struct inode *, int);
         |                               ^~~~~~~~~~~~~~
>> fs/ntfs3/xattr.c:771:40: warning: passing argument 2 of 'generic_permission' makes integer from pointer without a cast [-Wint-conversion]
     771 |  return generic_permission(mnt_userns, inode, mask);
         |                                        ^~~~~
         |                                        |
         |                                        struct inode *
   In file included from include/linux/huge_mm.h:8,
                    from include/linux/mm.h:703,
                    from include/linux/bvec.h:14,
                    from include/linux/blk_types.h:10,
                    from include/linux/genhd.h:19,
                    from include/linux/blkdev.h:8,
                    from fs/ntfs3/xattr.c:8:
   include/linux/fs.h:2761:47: note: expected 'int' but argument is of type 'struct inode *'
    2761 | extern int generic_permission(struct inode *, int);
         |                                               ^~~
>> fs/ntfs3/xattr.c:771:9: error: too many arguments to function 'generic_permission'
     771 |  return generic_permission(mnt_userns, inode, mask);
         |         ^~~~~~~~~~~~~~~~~~
   In file included from include/linux/huge_mm.h:8,
                    from include/linux/mm.h:703,
                    from include/linux/bvec.h:14,
                    from include/linux/blk_types.h:10,
                    from include/linux/genhd.h:19,
                    from include/linux/blkdev.h:8,
                    from fs/ntfs3/xattr.c:8:
   include/linux/fs.h:2761:12: note: declared here
    2761 | extern int generic_permission(struct inode *, int);
         |            ^~~~~~~~~~~~~~~~~~
   fs/ntfs3/xattr.c: At top level:
>> fs/ntfs3/xattr.c:1078:9: error: initialization of 'int (*)(const struct xattr_handler *, struct dentry *, struct inode *, const char *, const void *, size_t,  int)' {aka 'int (*)(const struct xattr_handler *, struct dentry *, struct inode *, const char *, const void *, unsigned int,  int)'} from incompatible pointer type 'int (*)(const struct xattr_handler *, struct user_namespace *, struct dentry *, struct inode *, const char *, const void *, size_t,  int)' {aka 'int (*)(const struct xattr_handler *, struct user_namespace *, struct dentry *, struct inode *, const char *, const void *, unsigned int,  int)'} [-Werror=incompatible-pointer-types]
    1078 |  .set = ntfs_setxattr,
         |         ^~~~~~~~~~~~~
   fs/ntfs3/xattr.c:1078:9: note: (near initialization for 'ntfs_xattr_handler.set')
   cc1: some warnings being treated as errors

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
   Depends on SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && HAS_DMA
   Selected by
   - SND_ATMEL_SOC_SSC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC
   - SND_ATMEL_SOC_SSC_PDC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && ATMEL_SSC


vim +/generic_fillattr +93 fs/ntfs3/file.c

03fd1586cc6284 Konstantin Komarov 2021-02-05   75  
03fd1586cc6284 Konstantin Komarov 2021-02-05   76  /*
03fd1586cc6284 Konstantin Komarov 2021-02-05   77   * inode_operations::getattr
03fd1586cc6284 Konstantin Komarov 2021-02-05   78   */
03fd1586cc6284 Konstantin Komarov 2021-02-05   79  int ntfs_getattr(struct user_namespace *mnt_userns, const struct path *path,
03fd1586cc6284 Konstantin Komarov 2021-02-05   80  		 struct kstat *stat, u32 request_mask, u32 flags)
03fd1586cc6284 Konstantin Komarov 2021-02-05   81  {
03fd1586cc6284 Konstantin Komarov 2021-02-05   82  	struct inode *inode = d_inode(path->dentry);
03fd1586cc6284 Konstantin Komarov 2021-02-05   83  	struct ntfs_inode *ni = ntfs_i(inode);
03fd1586cc6284 Konstantin Komarov 2021-02-05   84  
03fd1586cc6284 Konstantin Komarov 2021-02-05   85  	if (is_compressed(ni))
03fd1586cc6284 Konstantin Komarov 2021-02-05   86  		stat->attributes |= STATX_ATTR_COMPRESSED;
03fd1586cc6284 Konstantin Komarov 2021-02-05   87  
03fd1586cc6284 Konstantin Komarov 2021-02-05   88  	if (is_encrypted(ni))
03fd1586cc6284 Konstantin Komarov 2021-02-05   89  		stat->attributes |= STATX_ATTR_ENCRYPTED;
03fd1586cc6284 Konstantin Komarov 2021-02-05   90  
03fd1586cc6284 Konstantin Komarov 2021-02-05   91  	stat->attributes_mask |= STATX_ATTR_COMPRESSED | STATX_ATTR_ENCRYPTED;
03fd1586cc6284 Konstantin Komarov 2021-02-05   92  
03fd1586cc6284 Konstantin Komarov 2021-02-05  @93  	generic_fillattr(mnt_userns, inode, stat);
03fd1586cc6284 Konstantin Komarov 2021-02-05   94  
03fd1586cc6284 Konstantin Komarov 2021-02-05   95  	stat->result_mask |= STATX_BTIME;
03fd1586cc6284 Konstantin Komarov 2021-02-05   96  	stat->btime = ni->i_crtime;
03fd1586cc6284 Konstantin Komarov 2021-02-05   97  
03fd1586cc6284 Konstantin Komarov 2021-02-05   98  	return 0;
03fd1586cc6284 Konstantin Komarov 2021-02-05   99  }
03fd1586cc6284 Konstantin Komarov 2021-02-05  100  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
diff mbox series

Patch

diff --git a/fs/Kconfig b/fs/Kconfig
index aa4c12282301..eae96d55ab67 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -145,6 +145,7 @@  menu "DOS/FAT/EXFAT/NT Filesystems"
 source "fs/fat/Kconfig"
 source "fs/exfat/Kconfig"
 source "fs/ntfs/Kconfig"
+source "fs/ntfs3/Kconfig"
 
 endmenu
 endif # BLOCK
diff --git a/fs/Makefile b/fs/Makefile
index 999d1a23f036..4f5242cdaee2 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -100,6 +100,7 @@  obj-$(CONFIG_SYSV_FS)		+= sysv/
 obj-$(CONFIG_CIFS)		+= cifs/
 obj-$(CONFIG_HPFS_FS)		+= hpfs/
 obj-$(CONFIG_NTFS_FS)		+= ntfs/
+obj-$(CONFIG_NTFS3_FS)		+= ntfs3/
 obj-$(CONFIG_UFS_FS)		+= ufs/
 obj-$(CONFIG_EFS_FS)		+= efs/
 obj-$(CONFIG_JFFS2_FS)		+= jffs2/