• S
    ceph: use i_ceph_lock instead of i_lock · be655596
    Sage Weil 提交于
    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: NAmon Ott <a.ott@m-privacy.de>
    Signed-off-by: NSage Weil <sage@newdream.net>
    be655596
mds_client.c 87.5 KB