diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2014-04-29 23:42:52 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2014-04-30 18:02:52 -0400 |
commit | 01b6035190b024240a43ac1d8e9c6f964f5f1c63 (patch) | |
tree | 2078b992172b0472c4376025d6a5a964d1aa708b /fs/dcache.c | |
parent | b4f0354e968f5fabd39bc85b99fedae4a97589fe (diff) | |
download | lwn-01b6035190b024240a43ac1d8e9c6f964f5f1c63.tar.gz lwn-01b6035190b024240a43ac1d8e9c6f964f5f1c63.zip |
expand the call of dentry_lru_del() in dentry_kill()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/dcache.c')
-rw-r--r-- | fs/dcache.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/dcache.c b/fs/dcache.c index dab7db10d685..e482775343a0 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -501,7 +501,12 @@ relock: if ((dentry->d_flags & DCACHE_OP_PRUNE) && !d_unhashed(dentry)) dentry->d_op->d_prune(dentry); - dentry_lru_del(dentry); + if (dentry->d_flags & DCACHE_LRU_LIST) { + if (!(dentry->d_flags & DCACHE_SHRINK_LIST)) + d_lru_del(dentry); + else + d_shrink_del(dentry); + } /* if it was on the hash then remove it */ __d_drop(dentry); list_del(&dentry->d_u.d_child); |