xref: /linux/fs/9p/acl.h (revision 2da68a77)
1 /* SPDX-License-Identifier: LGPL-2.1 */
2 /*
3  * Copyright IBM Corporation, 2010
4  * Author Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
5  */
6 #ifndef FS_9P_ACL_H
7 #define FS_9P_ACL_H
8 
9 #ifdef CONFIG_9P_FS_POSIX_ACL
10 int v9fs_get_acl(struct inode *inode, struct p9_fid *fid);
11 struct posix_acl *v9fs_iop_get_acl(struct inode *inode, int type,
12 				   bool rcu);
13 int v9fs_acl_chmod(struct inode *inode, struct p9_fid *fid);
14 int v9fs_set_create_acl(struct inode *inode, struct p9_fid *fid,
15 			struct posix_acl *dacl, struct posix_acl *acl);
16 int v9fs_acl_mode(struct inode *dir, umode_t *modep,
17 		  struct posix_acl **dpacl, struct posix_acl **pacl);
18 void v9fs_put_acl(struct posix_acl *dacl, struct posix_acl *acl);
19 #else
20 #define v9fs_iop_get_acl NULL
21 static inline int v9fs_get_acl(struct inode *inode, struct p9_fid *fid)
22 {
23 	return 0;
24 }
25 static inline int v9fs_acl_chmod(struct inode *inode, struct p9_fid *fid)
26 {
27 	return 0;
28 }
29 static inline int v9fs_set_create_acl(struct inode *inode,
30 				      struct p9_fid *fid,
31 				      struct posix_acl *dacl,
32 				      struct posix_acl *acl)
33 {
34 	return 0;
35 }
36 static inline void v9fs_put_acl(struct posix_acl *dacl,
37 				struct posix_acl *acl)
38 {
39 }
40 static inline int v9fs_acl_mode(struct inode *dir, umode_t *modep,
41 				struct posix_acl **dpacl,
42 				struct posix_acl **pacl)
43 {
44 	return 0;
45 }
46 
47 #endif
48 #endif /* FS_9P_XATTR_H */
49