From: Akinobu Mita <amgta@yacht.ocn.ne.jp>

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 <amgta@yacht.ocn.ne.jp>
Cc: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 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);
 		}
_