Lines Matching refs:vnode

83 static struct afs_vnode *afs_get_auth_inode(struct afs_vnode *vnode,  in afs_get_auth_inode()  argument
91 if (S_ISDIR(vnode->vfs_inode.i_mode)) { in afs_get_auth_inode()
92 auth_inode = igrab(&vnode->vfs_inode); in afs_get_auth_inode()
95 auth_inode = afs_iget(vnode->vfs_inode.i_sb, key, in afs_get_auth_inode()
96 &vnode->status.parent, NULL, NULL); in afs_get_auth_inode()
102 _leave(" = {%x}", auth_vnode->fid.vnode); in afs_get_auth_inode()
109 void afs_clear_permits(struct afs_vnode *vnode) in afs_clear_permits() argument
113 _enter("{%x:%u}", vnode->fid.vid, vnode->fid.vnode); in afs_clear_permits()
115 mutex_lock(&vnode->permits_lock); in afs_clear_permits()
116 permits = vnode->permits; in afs_clear_permits()
117 rcu_assign_pointer(vnode->permits, NULL); in afs_clear_permits()
118 mutex_unlock(&vnode->permits_lock); in afs_clear_permits()
129 void afs_cache_permit(struct afs_vnode *vnode, struct key *key, long acl_order) in afs_cache_permit() argument
137 vnode->fid.vid, vnode->fid.vnode, key_serial(key), acl_order); in afs_cache_permit()
139 auth_vnode = afs_get_auth_inode(vnode, key); in afs_cache_permit()
149 if (memcmp(&auth_vnode->fid, &vnode->status.parent, in afs_cache_permit()
164 _debug("anon access %x", vnode->status.anon_access); in afs_cache_permit()
165 auth_vnode->status.anon_access = vnode->status.anon_access; in afs_cache_permit()
166 if (key == vnode->volume->cell->anonymous_key) in afs_cache_permit()
180 vnode->status.caller_access; in afs_cache_permit()
197 key_serial(key), vnode->status.caller_access); in afs_cache_permit()
198 permits->permits[count].access_mask = vnode->status.caller_access; in afs_cache_permit()
217 static int afs_check_permit(struct afs_vnode *vnode, struct key *key, in afs_check_permit() argument
227 vnode->fid.vid, vnode->fid.vnode, key_serial(key)); in afs_check_permit()
229 auth_vnode = afs_get_auth_inode(vnode, key); in afs_check_permit()
267 set_bit(AFS_VNODE_CB_BROKEN, &vnode->flags); in afs_check_permit()
268 ret = afs_vnode_fetch_status(vnode, auth_vnode, key); in afs_check_permit()
275 *_access = vnode->status.caller_access; in afs_check_permit()
290 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_permission() local
299 vnode->fid.vid, vnode->fid.vnode, vnode->flags, mask); in afs_permission()
301 key = afs_request_key(vnode->volume->cell); in afs_permission()
308 if (!vnode->cb_promised) { in afs_permission()
310 ret = afs_vnode_fetch_status(vnode, NULL, key); in afs_permission()
313 _debug("new promise [fl=%lx]", vnode->flags); in afs_permission()
317 ret = afs_check_permit(vnode, key, &access); in afs_permission()