From: Yan, Zheng Date: Wed, 24 Jul 2013 04:22:11 +0000 (+0800) Subject: ceph: fix freeing inode vs removing session caps race X-Git-Tag: v3.12-rc1~90^2~30 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6f60f889470aecf747610279545c054a99aadca3;p=pandora-kernel.git 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 --- Reading git-diff-tree failed