summaryrefslogtreecommitdiffstats
path: root/fs/afs/callback.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2007-07-15 23:40:12 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-16 09:05:43 -0700
commite8d6c554126b830217c5e9f549e0e21f865a0a8a (patch)
treec43219c6ef4e6a9b4f0ac46d6bd8b675dc249a8b /fs/afs/callback.c
parentb0fed3140f57c435d2783b698c5090f325c22bad (diff)
downloadlinux-e8d6c554126b830217c5e9f549e0e21f865a0a8a.tar.gz
linux-e8d6c554126b830217c5e9f549e0e21f865a0a8a.tar.bz2
linux-e8d6c554126b830217c5e9f549e0e21f865a0a8a.zip
AFS: implement file locking
Implement file locking for AFS. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/afs/callback.c')
-rw-r--r--fs/afs/callback.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/afs/callback.c b/fs/afs/callback.c
index bacf518c6fa8..b8243945818d 100644
--- a/fs/afs/callback.c
+++ b/fs/afs/callback.c
@@ -125,6 +125,9 @@ static void afs_break_callback(struct afs_server *server,
spin_unlock(&server->cb_lock);
queue_work(afs_callback_update_worker, &vnode->cb_broken_work);
+ if (list_empty(&vnode->granted_locks) &&
+ !list_empty(&vnode->pending_locks))
+ afs_lock_may_be_available(vnode);
spin_unlock(&vnode->lock);
}
}