• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/fs/gfs2/

Lines Matching refs:acl

22 #include "acl.h"
43 struct posix_acl *acl;
51 acl = get_cached_acl(&ip->i_inode, type);
52 if (acl != ACL_NOT_CACHED)
53 return acl;
65 acl = posix_acl_from_xattr(data, len);
67 return acl;
80 struct posix_acl *acl;
83 acl = gfs2_acl_get(GFS2_I(inode), ACL_TYPE_ACCESS);
84 if (IS_ERR(acl))
85 return PTR_ERR(acl);
87 if (acl) {
88 error = posix_acl_permission(inode, acl, mask);
89 posix_acl_release(acl);
112 static int gfs2_acl_set(struct inode *inode, int type, struct posix_acl *acl)
120 len = posix_acl_to_xattr(acl, NULL, 0);
126 error = posix_acl_to_xattr(acl, data, len);
131 set_cached_acl(inode, type, acl);
140 struct posix_acl *acl, *clone;
149 acl = gfs2_acl_get(dip, ACL_TYPE_DEFAULT);
150 if (IS_ERR(acl))
151 return PTR_ERR(acl);
152 if (!acl) {
160 error = gfs2_acl_set(inode, ACL_TYPE_DEFAULT, acl);
165 clone = posix_acl_clone(acl, GFP_NOFS);
169 posix_acl_release(acl);
170 acl = clone;
172 error = posix_acl_create_masq(acl, &mode);
178 error = gfs2_acl_set(inode, ACL_TYPE_ACCESS, acl);
184 posix_acl_release(acl);
190 struct posix_acl *acl, *clone;
195 acl = gfs2_acl_get(ip, ACL_TYPE_ACCESS);
196 if (IS_ERR(acl))
197 return PTR_ERR(acl);
198 if (!acl)
201 clone = posix_acl_clone(acl, GFP_NOFS);
205 posix_acl_release(acl);
206 acl = clone;
208 error = posix_acl_chmod_masq(acl, attr->ia_mode);
210 len = posix_acl_to_xattr(acl, NULL, 0);
215 posix_acl_to_xattr(acl, data, len);
218 set_cached_acl(&ip->i_inode, ACL_TYPE_ACCESS, acl);
222 posix_acl_release(acl);
240 struct posix_acl *acl;
251 acl = gfs2_acl_get(GFS2_I(inode), type);
252 if (IS_ERR(acl))
253 return PTR_ERR(acl);
254 if (acl == NULL)
257 error = posix_acl_to_xattr(acl, buffer, size);
258 posix_acl_release(acl);
269 struct posix_acl *acl = NULL;
290 acl = posix_acl_from_xattr(value, size);
291 if (!acl) {
298 if (IS_ERR(acl)) {
299 error = PTR_ERR(acl);
303 error = posix_acl_valid(acl);
308 if (acl->a_count > GFS2_ACL_MAX_ENTRIES)
313 error = posix_acl_equiv_mode(acl, &mode);
316 posix_acl_release(acl);
317 acl = NULL;
331 if (acl)
332 set_cached_acl(inode, type, acl);
337 posix_acl_release(acl);