From: Yan, Zheng Date: Mon, 18 Feb 2013 08:38:14 +0000 (+0800) Subject: ceph: use I_COMPLETE inode flag instead of D_COMPLETE flag X-Git-Tag: omap-for-v3.10/dt-fixes-for-merge-window~26^2~243 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a8673d61ad77ddf2118599507bd40cc345e95368;p=pandora-kernel.git ceph: use I_COMPLETE inode flag instead of D_COMPLETE flag commit c6ffe10015 moved the flag that tracks if the dcache contents for a directory are complete to dentry. The problem is there are lots of places that use ceph_dir_{set,clear,test}_complete() while holding i_ceph_lock. but ceph_dir_{set,clear,test}_complete() may sleep because they call dput(). This patch basically reverts that commit. For ceph_d_prune(), it's called with both the dentry to prune and the parent dentry are locked. So it's safe to access the parent dentry's d_inode and clear I_COMPLETE flag. Signed-off-by: Yan, Zheng Reviewed-by: Greg Farnum Reviewed-by: Sage Weil --- Reading git-diff-tree failed