ceph: preallocate flock state without locks held
authorGreg Farnum <gregf@hq.newdream.net>
Fri, 17 Sep 2010 17:24:02 +0000 (10:24 -0700)
committerSage Weil <sage@newdream.net>
Wed, 20 Oct 2010 22:38:17 +0000 (15:38 -0700)
commitfca4451acfdcf894154e4809529ca28a09db88ff
tree446381c8e8c7b592b47c2e50c32b1e40817fcfe1
parentac0b74d8a1ced8ea86147467daf06b15b130dd94
ceph: preallocate flock state without locks held

When the lock_kernel() turns into lock_flocks() and a spinlock, we won't
be able to do allocations with the lock held.  Preallocate space without
the lock, and retry if the lock state changes out from underneath us.

Signed-off-by: Greg Farnum <gregf@hq.newdream.net>
Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/locks.c
fs/ceph/mds_client.c