ceph: do not carry i_lock for readdir from dcache
authorSage Weil <sage@newdream.net>
Mon, 18 Oct 2010 21:04:31 +0000 (14:04 -0700)
committerSage Weil <sage@newdream.net>
Wed, 20 Oct 2010 22:38:27 +0000 (15:38 -0700)
commitefa4c1206eaff047c474af2136748a58eb8cc33b
tree61f8957ed7735c01a6d6900a3c4c2c45d084c3a7
parent61413c2f594e6b63db2b14c70c2e7d8cf02f9c00
ceph: do not carry i_lock for readdir from dcache

We were taking dcache_lock inside of i_lock, which introduces a dependency
not found elsewhere in the kernel, complicationg the vfs locking
scalability work.  Since we don't actually need it here anyway, remove
it.

We only need i_lock to test for the I_COMPLETE flag, so be careful to do
so without dcache_lock held.

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/dir.c
fs/ceph/super.h