diff options
Diffstat (limited to 'fs/dcache.c')
-rw-r--r-- | fs/dcache.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/dcache.c b/fs/dcache.c index b85fda360533..48b44a714b35 100644 --- a/fs/dcache.c +++ b/fs/dcache.c | |||
@@ -522,8 +522,7 @@ void shrink_dcache_sb(struct super_block * sb) | |||
522 | dentry = list_entry(tmp, struct dentry, d_lru); | 522 | dentry = list_entry(tmp, struct dentry, d_lru); |
523 | if (dentry->d_sb != sb) | 523 | if (dentry->d_sb != sb) |
524 | continue; | 524 | continue; |
525 | list_del(tmp); | 525 | list_move(tmp, &dentry_unused); |
526 | list_add(tmp, &dentry_unused); | ||
527 | } | 526 | } |
528 | 527 | ||
529 | /* | 528 | /* |
@@ -638,7 +637,7 @@ resume: | |||
638 | * of the unused list for prune_dcache | 637 | * of the unused list for prune_dcache |
639 | */ | 638 | */ |
640 | if (!atomic_read(&dentry->d_count)) { | 639 | if (!atomic_read(&dentry->d_count)) { |
641 | list_add(&dentry->d_lru, dentry_unused.prev); | 640 | list_add_tail(&dentry->d_lru, &dentry_unused); |
642 | dentry_stat.nr_unused++; | 641 | dentry_stat.nr_unused++; |
643 | found++; | 642 | found++; |
644 | } | 643 | } |