linux/fs/ceph
Sage Weil be655596b3 ceph: use i_ceph_lock instead of i_lock
We have been using i_lock to protect all kinds of data structures in the
ceph_inode_info struct, including lists of inodes that we need to iterate
over while avoiding races with inode destruction.  That requires grabbing
a reference to the inode with the list lock protected, but igrab() now
takes i_lock to check the inode flags.

Changing the list lock ordering would be a painful process.

However, using a ceph-specific i_ceph_lock in the ceph inode instead of
i_lock is a simple mechanical change and avoids the ordering constraints
imposed by igrab().

Reported-by: Amon Ott <a.ott@m-privacy.de>
Signed-off-by: Sage Weil <sage@newdream.net>
2011-12-07 10:46:44 -08:00
..
Kconfig ceph: factor out libceph from Ceph file system 2010-10-20 15:37:28 -07:00
Makefile ceph: Makefile: Remove unnessary code 2011-01-12 15:15:13 -08:00
addr.c ceph: use i_ceph_lock instead of i_lock 2011-12-07 10:46:44 -08:00
caps.c ceph: use i_ceph_lock instead of i_lock 2011-12-07 10:46:44 -08:00
ceph_frag.c ceph: factor out libceph from Ceph file system 2010-10-20 15:37:28 -07:00
debugfs.c ceph: explicitly reference rename old_dentry parent dir in request 2011-07-26 11:31:14 -07:00
dir.c ceph: use i_ceph_lock instead of i_lock 2011-12-07 10:46:44 -08:00
export.c ceph: avoid d_parent in ceph_dentry_hash; fix ceph_encode_fh() hashing bug 2011-07-26 11:30:55 -07:00
file.c ceph: use i_ceph_lock instead of i_lock 2011-12-07 10:46:44 -08:00
inode.c ceph: use i_ceph_lock instead of i_lock 2011-12-07 10:46:44 -08:00
ioctl.c ceph: use i_ceph_lock instead of i_lock 2011-12-07 10:46:44 -08:00
ioctl.h ceph: document ioctls 2011-10-25 16:10:15 -07:00
locks.c ceph: unwind canceled flock state 2011-06-07 21:36:45 -07:00
mds_client.c ceph: use i_ceph_lock instead of i_lock 2011-12-07 10:46:44 -08:00
mds_client.h ceph: use i_ceph_lock instead of i_lock 2011-12-07 10:46:44 -08:00
mdsmap.c ceph: factor out libceph from Ceph file system 2010-10-20 15:37:28 -07:00
snap.c ceph: use i_ceph_lock instead of i_lock 2011-12-07 10:46:44 -08:00
strings.c ceph: factor out libceph from Ceph file system 2010-10-20 15:37:28 -07:00
super.c ceph: fix rasize reporting by ceph_show_options 2011-12-02 09:27:54 -08:00
super.h ceph: use i_ceph_lock instead of i_lock 2011-12-07 10:46:44 -08:00
xattr.c ceph: use i_ceph_lock instead of i_lock 2011-12-07 10:46:44 -08:00