lift the "already marked killed" case into shrink_dentry_list()
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 28 May 2014 13:48:44 +0000 (09:48 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 28 May 2014 13:48:44 +0000 (09:48 -0400)
commit64fd72e0a44bdd62c5ca277cb24d0d02b2d8e9dc
tree03260dee00fe5e06cd627cd04990e806992057a9
parentb6dd6f4738837439c520e73995ec93fe1de2ec72
lift the "already marked killed" case into shrink_dentry_list()

It can happen only when dentry_kill() is called with unlock_on_failure
equal to 0 - other callers had dentry pinned until the moment they've
got ->d_lock and DCACHE_DENTRY_KILLED is set only after lockref_mark_dead().

IOW, only one of three call sites of dentry_kill() might end up reaching
that code.  Just move it there.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/dcache.c