diff options
| author | Sage Weil <[email protected]> | 2011-11-30 17:47:09 +0000 |
|---|---|---|
| committer | Sage Weil <[email protected]> | 2011-12-07 18:46:44 +0000 |
| commit | be655596b3de5873f994ddbe205751a5ffb4de39 (patch) | |
| tree | cf6e53c6344f87a47ac68d6a6ff4d7dac6e5c25e /lib/timerqueue.c | |
| parent | rbd: remove buggy rollback functionality (diff) | |
| download | kernel-be655596b3de5873f994ddbe205751a5ffb4de39.tar.gz kernel-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 <[email protected]>
Signed-off-by: Sage Weil <[email protected]>
Diffstat (limited to 'lib/timerqueue.c')
0 files changed, 0 insertions, 0 deletions
