Sfoglia il codice sorgente

expand the call of dentry_lru_del() in dentry_kill()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 11 anni fa
parent
commit
01b6035190
1 ha cambiato i file con 6 aggiunte e 1 eliminazioni
  1. 6 1
      fs/dcache.c

+ 6 - 1
fs/dcache.c

@@ -501,7 +501,12 @@ relock:
 	if ((dentry->d_flags & DCACHE_OP_PRUNE) && !d_unhashed(dentry))
 	if ((dentry->d_flags & DCACHE_OP_PRUNE) && !d_unhashed(dentry))
 		dentry->d_op->d_prune(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 */
 	/* if it was on the hash then remove it */
 	__d_drop(dentry);
 	__d_drop(dentry);
 	list_del(&dentry->d_u.d_child);
 	list_del(&dentry->d_u.d_child);