diff options
author | Sage Weil <sage@newdream.net> | 2011-11-30 09:47:09 -0800 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2011-12-07 10:46:44 -0800 |
commit | be655596b3de5873f994ddbe205751a5ffb4de39 (patch) | |
tree | cf6e53c6344f87a47ac68d6a6ff4d7dac6e5c25e /net/ceph | |
parent | 51703306b3b9ea7c05728040998521e47358147b (diff) | |
download | blackbird-op-linux-be655596b3de5873f994ddbe205751a5ffb4de39.tar.gz blackbird-op-linux-be655596b3de5873f994ddbe205751a5ffb4de39.zip |
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>
Diffstat (limited to 'net/ceph')
0 files changed, 0 insertions, 0 deletions