]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitfe39ec701b3c27b4e9715d94fc638e2d25fe5ea5
treeca0426f86e5c2a331bd5006d7f16795711b7ade2
parentff58ddb7ee8346d205021172cbe15af07308fdad
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