summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2014-04-29 23:42:52 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-08-16 20:51:53 -0700
commit065c70fd5fdca12785476e1f72fcffb0ce7fd165 (patch)
tree22c89341e60f9e655b6f29c4f6531cfbcf4bc35b /fs
parent5d81116c6b24c3b594517d9d9b43b6a50f52deee (diff)
expand the call of dentry_lru_del() in dentry_kill()
commit 01b6035190b024240a43ac1d8e9c6f964f5f1c63 upstream. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Cc: "Nicholas A. Bellinger" <nab@linux-iscsi.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/dcache.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/dcache.c b/fs/dcache.c
index 3a0f252cc1b8..16f9066ca7b8 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -499,7 +499,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_entry(&dentry->d_child);