• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/fs/afs/

Lines Matching defs:vnode

38 	struct afs_vnode *vnode;
46 vnode = rb_entry(server->cb_promises.rb_node,
49 vnode->fid.vid, vnode->fid.vnode, vnode->fid.unique);
50 rb_erase(&vnode->cb_promise, &server->cb_promises);
51 vnode->cb_promised = false;
63 struct afs_vnode *vnode =
68 if (test_bit(AFS_VNODE_DELETED, &vnode->flags))
72 * vnode and only if no-one else has dealt with it yet */
73 if (!mutex_trylock(&vnode->validate_lock))
76 if (test_bit(AFS_VNODE_CB_BROKEN, &vnode->flags)) {
77 if (S_ISDIR(vnode->vfs_inode.i_mode))
78 afs_clear_permits(vnode);
80 if (afs_vnode_fetch_status(vnode, NULL, NULL) < 0)
83 if (test_bit(AFS_VNODE_DELETED, &vnode->flags))
86 /* if the vnode's data version number changed then its contents
88 if (test_and_clear_bit(AFS_VNODE_ZAP_DATA, &vnode->flags))
89 afs_zap_data(vnode);
93 mutex_unlock(&vnode->validate_lock);
98 if (test_bit(AFS_VNODE_CB_BROKEN, &vnode->flags)) {
100 queue_work(afs_callback_update_worker, &vnode->cb_broken_work);
109 struct afs_vnode *vnode)
113 set_bit(AFS_VNODE_CB_BROKEN, &vnode->flags);
115 if (vnode->cb_promised) {
116 spin_lock(&vnode->lock);
121 if (vnode->cb_promised) {
122 rb_erase(&vnode->cb_promise, &server->cb_promises);
123 vnode->cb_promised = false;
127 queue_work(afs_callback_update_worker, &vnode->cb_broken_work);
128 spin_unlock(&vnode->lock);
141 struct afs_vnode *vnode;
148 vnode = rb_entry(p, struct afs_vnode, server_rb);
149 if (fid->vid < vnode->fid.vid)
151 else if (fid->vid > vnode->fid.vid)
153 else if (fid->vnode < vnode->fid.vnode)
155 else if (fid->vnode > vnode->fid.vnode)
157 else if (fid->unique < vnode->fid.unique)
159 else if (fid->unique > vnode->fid.unique)
175 ASSERTCMP(server, ==, vnode->server);
177 if (!igrab(AFS_VNODE_TO_I(vnode)))
181 afs_break_callback(server, vnode);
182 iput(&vnode->vfs_inode);
200 callbacks->fid.vnode,
218 struct afs_vnode *vnode)
222 _enter("%p,%p", server, vnode);
225 cb->fid = vnode->fid;
226 cb->version = vnode->cb_version;
227 cb->expiry = vnode->cb_expiry;
228 cb->type = vnode->cb_type;
249 rb_erase(&vnode->cb_promise, &server->cb_promises);
250 vnode->cb_promised = false;
257 void afs_discard_callback_on_delete(struct afs_vnode *vnode)
259 struct afs_server *server = vnode->server;
261 _enter("%d", vnode->cb_promised);
263 if (!vnode->cb_promised) {
271 if (vnode->cb_promised) {
273 rb_erase(&vnode->cb_promise, &server->cb_promises);
274 vnode->cb_promised = false;
281 * give up the callback registered for a vnode on the file server when the
284 void afs_give_up_callback(struct afs_vnode *vnode)
286 struct afs_server *server = vnode->server;
290 _enter("%d", vnode->cb_promised);
292 _debug("GIVE UP INODE %p", &vnode->vfs_inode);
294 if (!vnode->cb_promised) {
302 if (vnode->cb_promised && afs_breakring_space(server) == 0) {
306 if (!vnode->cb_promised ||
317 /* of course, it's always possible for the server to break this vnode's
319 if (vnode->cb_promised)
320 afs_do_give_up_callback(server, vnode);