summaryrefslogtreecommitdiffstats
path: root/fs/mbcache.c
diff options
context:
space:
mode:
authorRam Gupta <ram.gupta5@gmail.com>2007-10-25 17:03:28 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-26 00:18:29 +0200
commitf9e83489cbb3670df810d4f9fe308cde88faa0a9 (patch)
tree24d57af11492d5d55dce9486694155b3291babe0 /fs/mbcache.c
parentFix pointer mismatches in proc_sysctl.c (diff)
downloadlinux-f9e83489cbb3670df810d4f9fe308cde88faa0a9.tar.xz
linux-f9e83489cbb3670df810d4f9fe308cde88faa0a9.zip
fs: Fix to correct the mbcache entries counter
This patch fixes the c_entry_count counter of the mbcache. Currently it increments the counter first & allocate the cache entry later. In case of failure to allocate the entry due to insufficient memory this counter is still left incremented. This patch fixes this anomaly. Signed-off-by: Ram Gupta <ram.gupta5@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/mbcache.c')
-rw-r--r--fs/mbcache.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/mbcache.c b/fs/mbcache.c
index 1046cbefbfbf..eb31b73e7d69 100644
--- a/fs/mbcache.c
+++ b/fs/mbcache.c
@@ -403,9 +403,9 @@ mb_cache_entry_alloc(struct mb_cache *cache)
{
struct mb_cache_entry *ce;
- atomic_inc(&cache->c_entry_count);
ce = kmem_cache_alloc(cache->c_entry_cache, GFP_KERNEL);
if (ce) {
+ atomic_inc(&cache->c_entry_count);
INIT_LIST_HEAD(&ce->e_lru_list);
INIT_LIST_HEAD(&ce->e_block_list);
ce->e_cache = cache;