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)
commitaf7407c66282277952afdb264b33cf0d630a51b4
tree61f8957ed7735c01a6d6900a3c4c2c45d084c3a7
parent257fd1b0593b6fd74883fad438efebd3cf3224e8
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