Эх сурвалжийг харах

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 17 жил өмнө
parent
commit
f9e83489cb
1 өөрчлөгдсөн 1 нэмэгдсэн , 1 устгасан
  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;
 	struct mb_cache_entry *ce;
 
 
-	atomic_inc(&cache->c_entry_count);
 	ce = kmem_cache_alloc(cache->c_entry_cache, GFP_KERNEL);
 	ce = kmem_cache_alloc(cache->c_entry_cache, GFP_KERNEL);
 	if (ce) {
 	if (ce) {
+		atomic_inc(&cache->c_entry_count);
 		INIT_LIST_HEAD(&ce->e_lru_list);
 		INIT_LIST_HEAD(&ce->e_lru_list);
 		INIT_LIST_HEAD(&ce->e_block_list);
 		INIT_LIST_HEAD(&ce->e_block_list);
 		ce->e_cache = cache;
 		ce->e_cache = cache;