diff options
author | Ram Gupta <ram.gupta5@gmail.com> | 2007-10-25 11:03:28 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-25 18:18:29 -0400 |
commit | f9e83489cbb3670df810d4f9fe308cde88faa0a9 (patch) | |
tree | 24d57af11492d5d55dce9486694155b3291babe0 /fs | |
parent | 2a2da53b181bdafcdecb43c457735ee2892ae885 (diff) |
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')
-rw-r--r-- | fs/mbcache.c | 2 |
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) | |||
403 | { | 403 | { |
404 | struct mb_cache_entry *ce; | 404 | struct mb_cache_entry *ce; |
405 | 405 | ||
406 | atomic_inc(&cache->c_entry_count); | ||
407 | ce = kmem_cache_alloc(cache->c_entry_cache, GFP_KERNEL); | 406 | ce = kmem_cache_alloc(cache->c_entry_cache, GFP_KERNEL); |
408 | if (ce) { | 407 | if (ce) { |
408 | atomic_inc(&cache->c_entry_count); | ||
409 | INIT_LIST_HEAD(&ce->e_lru_list); | 409 | INIT_LIST_HEAD(&ce->e_lru_list); |
410 | INIT_LIST_HEAD(&ce->e_block_list); | 410 | INIT_LIST_HEAD(&ce->e_block_list); |
411 | ce->e_cache = cache; | 411 | ce->e_cache = cache; |