From: Akinobu Mita mb_cache_shrink() tries to free all sort of mbcache in the lru list. All user of mb_cache_shrink() are ext2/ext3 xattr. Signed-off-by: Akinobu Mita Cc: Andreas Gruenbacher Signed-off-by: Andrew Morton --- fs/mbcache.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN fs/mbcache.c~mb_cache_shrink-frees-unexpected-caches fs/mbcache.c --- devel/fs/mbcache.c~mb_cache_shrink-frees-unexpected-caches 2005-07-14 15:37:09.000000000 -0700 +++ devel-akpm/fs/mbcache.c 2005-07-14 15:37:09.000000000 -0700 @@ -329,7 +329,7 @@ mb_cache_shrink(struct mb_cache *cache, list_for_each_safe(l, ltmp, &mb_cache_lru_list) { struct mb_cache_entry *ce = list_entry(l, struct mb_cache_entry, e_lru_list); - if (ce->e_bdev == bdev) { + if (ce->e_cache == cache && ce->e_bdev == bdev) { list_move_tail(&ce->e_lru_list, &free_list); __mb_cache_entry_unhash(ce); } _