Ver Fonte

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>
Ram Gupta há 17 anos atrás
pai
commit
f9e83489cb
1 ficheiros alterados com 1 adições e 1 exclusões
  1. 1 1
      fs/mbcache.c

+ 1 - 1
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;