GNU Linux-libre 6.1.86-gnu
[releases.git] / fs / 9p / acl.h
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 */