Lines Matching refs:vnode
27 struct afs_vnode *vnode) in afs_create_interest() argument
44 new_vi->vid = vnode->volume->vid; in afs_create_interest()
49 new->sb = vnode->vfs_inode.i_sb; in afs_create_interest()
50 new->vid = vnode->volume->vid; in afs_create_interest()
88 int afs_register_server_cb_interest(struct afs_vnode *vnode, in afs_register_server_cb_interest() argument
97 vcbi = rcu_dereference_protected(vnode->cb_interest, in afs_register_server_cb_interest()
98 lockdep_is_held(&vnode->io_lock)); in afs_register_server_cb_interest()
108 afs_put_cb_interest(afs_v2net(vnode), cbi); in afs_register_server_cb_interest()
116 write_seqlock(&vnode->cb_lock); in afs_register_server_cb_interest()
117 old = rcu_dereference_protected(vnode->cb_interest, in afs_register_server_cb_interest()
118 lockdep_is_held(&vnode->cb_lock.lock)); in afs_register_server_cb_interest()
119 rcu_assign_pointer(vnode->cb_interest, cbi); in afs_register_server_cb_interest()
120 write_sequnlock(&vnode->cb_lock); in afs_register_server_cb_interest()
121 afs_put_cb_interest(afs_v2net(vnode), old); in afs_register_server_cb_interest()
130 afs_put_cb_interest(afs_v2net(vnode), cbi); in afs_register_server_cb_interest()
141 new = afs_create_interest(server, vnode); in afs_register_server_cb_interest()
154 afs_put_cb_interest(afs_v2net(vnode), new); in afs_register_server_cb_interest()
162 write_seqlock(&vnode->cb_lock); in afs_register_server_cb_interest()
164 old = rcu_dereference_protected(vnode->cb_interest, in afs_register_server_cb_interest()
165 lockdep_is_held(&vnode->cb_lock.lock)); in afs_register_server_cb_interest()
166 rcu_assign_pointer(vnode->cb_interest, cbi); in afs_register_server_cb_interest()
167 vnode->cb_s_break = cbi->server->cb_s_break; in afs_register_server_cb_interest()
168 vnode->cb_v_break = vnode->volume->cb_v_break; in afs_register_server_cb_interest()
169 clear_bit(AFS_VNODE_CB_PROMISED, &vnode->flags); in afs_register_server_cb_interest()
171 write_sequnlock(&vnode->cb_lock); in afs_register_server_cb_interest()
172 afs_put_cb_interest(afs_v2net(vnode), old); in afs_register_server_cb_interest()
215 void __afs_break_callback(struct afs_vnode *vnode, enum afs_cb_break_reason reason) in __afs_break_callback() argument
219 clear_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags); in __afs_break_callback()
220 if (test_and_clear_bit(AFS_VNODE_CB_PROMISED, &vnode->flags)) { in __afs_break_callback()
221 vnode->cb_break++; in __afs_break_callback()
222 afs_clear_permits(vnode); in __afs_break_callback()
224 if (vnode->lock_state == AFS_VNODE_LOCK_WAITING_FOR_CB) in __afs_break_callback()
225 afs_lock_may_be_available(vnode); in __afs_break_callback()
227 trace_afs_cb_break(&vnode->fid, vnode->cb_break, reason, true); in __afs_break_callback()
229 trace_afs_cb_break(&vnode->fid, vnode->cb_break, reason, false); in __afs_break_callback()
233 void afs_break_callback(struct afs_vnode *vnode, enum afs_cb_break_reason reason) in afs_break_callback() argument
235 write_seqlock(&vnode->cb_lock); in afs_break_callback()
236 __afs_break_callback(vnode, reason); in afs_break_callback()
237 write_sequnlock(&vnode->cb_lock); in afs_break_callback()
252 struct afs_vnode *vnode; in afs_break_one_callback() local
277 if (fid->vnode == 0 && fid->unique == 0) { in afs_break_one_callback()
290 inode = ilookup5_nowait(cbi->sb, fid->vnode, in afs_break_one_callback()
293 vnode = AFS_FS_I(inode); in afs_break_one_callback()
294 afs_break_callback(vnode, afs_cb_break_for_callback); in afs_break_one_callback()
321 callbacks->fid.vnode, in afs_break_callbacks()