diff options
Diffstat (limited to 'include/linux/posix_acl.h')
| -rw-r--r-- | include/linux/posix_acl.h | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/posix_acl.h b/include/linux/posix_acl.h index 065a3652a3e..67608161df6 100644 --- a/include/linux/posix_acl.h +++ b/include/linux/posix_acl.h @@ -147,6 +147,20 @@ static inline void forget_cached_acl(struct inode *inode, int type)  	if (old != ACL_NOT_CACHED)  		posix_acl_release(old);  } + +static inline void forget_all_cached_acls(struct inode *inode) +{ +	struct posix_acl *old_access, *old_default; +	spin_lock(&inode->i_lock); +	old_access = inode->i_acl; +	old_default = inode->i_default_acl; +	inode->i_acl = inode->i_default_acl = ACL_NOT_CACHED; +	spin_unlock(&inode->i_lock); +	if (old_access != ACL_NOT_CACHED) +		posix_acl_release(old_access); +	if (old_default != ACL_NOT_CACHED) +		posix_acl_release(old_default); +}  #endif  static inline void cache_no_acl(struct inode *inode)  |