nfs3_fs.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (C) 2014 Anna Schumaker.
  4. *
  5. * NFSv3-specific filesystem definitions and declarations
  6. */
  7. #ifndef __LINUX_FS_NFS_NFS3_FS_H
  8. #define __LINUX_FS_NFS_NFS3_FS_H
  9. /*
  10. * nfs3acl.c
  11. */
  12. #ifdef CONFIG_NFS_V3_ACL
  13. extern struct posix_acl *nfs3_get_acl(struct inode *inode, int type, bool rcu);
  14. extern int nfs3_set_acl(struct user_namespace *mnt_userns, struct inode *inode,
  15. struct posix_acl *acl, int type);
  16. extern int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
  17. struct posix_acl *dfacl);
  18. extern ssize_t nfs3_listxattr(struct dentry *, char *, size_t);
  19. extern const struct xattr_handler *nfs3_xattr_handlers[];
  20. #else
  21. static inline int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
  22. struct posix_acl *dfacl)
  23. {
  24. return 0;
  25. }
  26. #define nfs3_listxattr NULL
  27. #endif /* CONFIG_NFS_V3_ACL */
  28. /* nfs3client.c */
  29. struct nfs_server *nfs3_create_server(struct fs_context *);
  30. struct nfs_server *nfs3_clone_server(struct nfs_server *, struct nfs_fh *,
  31. struct nfs_fattr *, rpc_authflavor_t);
  32. /* nfs3super.c */
  33. extern struct nfs_subversion nfs_v3;
  34. #endif /* __LINUX_FS_NFS_NFS3_FS_H */