diff options
author | Yan, Zheng <zheng.z.yan@intel.com> | 2013-07-24 12:22:11 +0800 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-08-09 17:55:32 -0700 |
commit | 6f60f889470aecf747610279545c054a99aadca3 (patch) | |
tree | 60f5781c7673d1d0e06ef1b658e652b2738daf24 /drivers/block | |
parent | 4d1829a59de402fc95daf4576c51aa0a7439aee8 (diff) | |
download | op-kernel-dev-6f60f889470aecf747610279545c054a99aadca3.zip op-kernel-dev-6f60f889470aecf747610279545c054a99aadca3.tar.gz |
ceph: fix freeing inode vs removing session caps race
remove_session_caps() uses iterate_session_caps() to remove caps,
but iterate_session_caps() skips inodes that are being deleted.
So session->s_nr_caps can be non-zero after iterate_session_caps()
return.
We can fix the issue by waiting until deletions are complete.
__wait_on_freeing_inode() is designed for the job, but it is not
exported, so we use lookup inode function to access it.
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Diffstat (limited to 'drivers/block')
0 files changed, 0 insertions, 0 deletions