diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/posix_acl.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/posix_acl.h b/include/linux/posix_acl.h index 67608161df6b..d68283a898bb 100644 --- a/include/linux/posix_acl.h +++ b/include/linux/posix_acl.h | |||
@@ -108,6 +108,25 @@ static inline struct posix_acl *get_cached_acl(struct inode *inode, int type) | |||
108 | return acl; | 108 | return acl; |
109 | } | 109 | } |
110 | 110 | ||
111 | static inline int negative_cached_acl(struct inode *inode, int type) | ||
112 | { | ||
113 | struct posix_acl **p, *acl; | ||
114 | switch (type) { | ||
115 | case ACL_TYPE_ACCESS: | ||
116 | p = &inode->i_acl; | ||
117 | break; | ||
118 | case ACL_TYPE_DEFAULT: | ||
119 | p = &inode->i_default_acl; | ||
120 | break; | ||
121 | default: | ||
122 | BUG(); | ||
123 | } | ||
124 | acl = ACCESS_ONCE(*p); | ||
125 | if (acl) | ||
126 | return 0; | ||
127 | return 1; | ||
128 | } | ||
129 | |||
111 | static inline void set_cached_acl(struct inode *inode, | 130 | static inline void set_cached_acl(struct inode *inode, |
112 | int type, | 131 | int type, |
113 | struct posix_acl *acl) | 132 | struct posix_acl *acl) |