blob: 03a4e679fd995b24c90a290ce18b8da1bbb9fc43 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Anna Schumaker00a36a102014-09-03 12:19:08 -04002/*
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
Anna Schumakercb8c20f2014-09-03 12:19:10 -040010/*
11 * nfs3acl.c
12 */
13#ifdef CONFIG_NFS_V3_ACL
Miklos Szeredi0cad6242021-08-18 22:08:24 +020014extern struct posix_acl *nfs3_get_acl(struct inode *inode, int type, bool rcu);
Christian Brauner549c7292021-01-21 14:19:43 +010015extern int nfs3_set_acl(struct user_namespace *mnt_userns, struct inode *inode,
16 struct posix_acl *acl, int type);
Anna Schumakercb8c20f2014-09-03 12:19:10 -040017extern int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
18 struct posix_acl *dfacl);
19extern ssize_t nfs3_listxattr(struct dentry *, char *, size_t);
20extern const struct xattr_handler *nfs3_xattr_handlers[];
21#else
22static inline int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
23 struct posix_acl *dfacl)
24{
25 return 0;
26}
27#define nfs3_listxattr NULL
28#endif /* CONFIG_NFS_V3_ACL */
29
Anna Schumaker00a36a102014-09-03 12:19:08 -040030/* nfs3client.c */
Scott Mayhew62a55d02019-12-10 07:31:14 -050031struct nfs_server *nfs3_create_server(struct fs_context *);
Anna Schumaker00a36a102014-09-03 12:19:08 -040032struct nfs_server *nfs3_clone_server(struct nfs_server *, struct nfs_fh *,
33 struct nfs_fattr *, rpc_authflavor_t);
34
Peng Tao1a04c6e2014-05-30 18:15:57 +080035/* nfs3super.c */
36extern struct nfs_subversion nfs_v3;
Anna Schumaker00a36a102014-09-03 12:19:08 -040037
38#endif /* __LINUX_FS_NFS_NFS3_FS_H */