xref: /linux/fs/9p/acl.h (revision 216d106c7ff7b3dcabacf2b5dc6c9c40eba7495c)
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_inode_acl(struct inode *inode, int type,
12  				   bool rcu);
13  struct posix_acl *v9fs_iop_get_acl(struct mnt_idmap *idmap,
14  					  struct dentry *dentry, int type);
15  int v9fs_iop_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
16  		     struct posix_acl *acl, int type);
17  int v9fs_acl_chmod(struct inode *inode, struct p9_fid *fid);
18  int v9fs_set_create_acl(struct inode *inode, struct p9_fid *fid,
19  			struct posix_acl *dacl, struct posix_acl *acl);
20  int v9fs_acl_mode(struct inode *dir, umode_t *modep,
21  		  struct posix_acl **dpacl, struct posix_acl **pacl);
22  void v9fs_put_acl(struct posix_acl *dacl, struct posix_acl *acl);
23  #else
24  #define v9fs_iop_get_inode_acl	NULL
25  #define v9fs_iop_get_acl NULL
26  #define v9fs_iop_set_acl NULL
27  static inline int v9fs_get_acl(struct inode *inode, struct p9_fid *fid)
28  {
29  	return 0;
30  }
31  static inline int v9fs_acl_chmod(struct inode *inode, struct p9_fid *fid)
32  {
33  	return 0;
34  }
35  static inline int v9fs_set_create_acl(struct inode *inode,
36  				      struct p9_fid *fid,
37  				      struct posix_acl *dacl,
38  				      struct posix_acl *acl)
39  {
40  	return 0;
41  }
42  static inline void v9fs_put_acl(struct posix_acl *dacl,
43  				struct posix_acl *acl)
44  {
45  }
46  static inline int v9fs_acl_mode(struct inode *dir, umode_t *modep,
47  				struct posix_acl **dpacl,
48  				struct posix_acl **pacl)
49  {
50  	return 0;
51  }
52  
53  #endif
54  #endif /* FS_9P_XATTR_H */
55