fs: force_reval_path drop rcu-walk before d_invalidate
authorNick Piggin <npiggin@kernel.dk>
Fri, 14 Jan 2011 02:35:53 +0000 (02:35 +0000)
committerNick Piggin <npiggin@hera.kernel.org>
Fri, 14 Jan 2011 02:35:53 +0000 (02:35 +0000)
commitbb20c18db6fbb5e6ba499c76473a487d35073467
treeca0426f86e5c2a331bd5006d7f16795711b7ade2
parenta82416da83722944d78d933301e32e7c5ad70edd
fs: force_reval_path drop rcu-walk before d_invalidate

d_revalidate can return in rcu-walk mode even when it returns 0.  We can't just
call any old dcache function on rcu-walk dentry (the dentry is unstable, so
even through d_lock can safely be taken, the result may no longer be what we
expect -- careful re-checks would be required). So just drop rcu in this case.

(I missed this conversion when switching to the rcu-walk convention that Linus
suggested)

Signed-off-by: Nick Piggin <npiggin@kernel.dk>
fs/namei.c