• Yan, Zheng's avatar
    ceph: fix freeing inode vs removing session caps race · 6f60f889
    Yan, Zheng authored
    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: default avatarYan, Zheng <zheng.z.yan@intel.com>
    6f60f889
Name
Last commit
Last update
..
Kconfig Loading commit data...
Makefile Loading commit data...
addr.c Loading commit data...
caps.c Loading commit data...
ceph_frag.c Loading commit data...
debugfs.c Loading commit data...
dir.c Loading commit data...
export.c Loading commit data...
file.c Loading commit data...
inode.c Loading commit data...
ioctl.c Loading commit data...
ioctl.h Loading commit data...
locks.c Loading commit data...
mds_client.c Loading commit data...
mds_client.h Loading commit data...
mdsmap.c Loading commit data...
snap.c Loading commit data...
strings.c Loading commit data...
super.c Loading commit data...
super.h Loading commit data...
xattr.c Loading commit data...