浏览代码

jbd2: remove NULL check before calling kmem_cache_destroy()

The kmem_cache_destroy() function already checks for null pointers, so
we can remove the check at the call site.

This patch also sets jbd2_handle_cache and jbd2_inode_cache to be NULL
after freeing them in jbd2_journal_destroy_handle_cache().

Signed-off-by: Wang Long <wanglong19@meituan.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
Wang Long 7 年之前
父节点
当前提交
8bdd5b60e0
共有 3 个文件被更改,包括 13 次插入23 次删除
  1. 7 11
      fs/jbd2/journal.c
  2. 4 8
      fs/jbd2/revoke.c
  3. 2 4
      fs/jbd2/transaction.c

+ 7 - 11
fs/jbd2/journal.c

@@ -2302,8 +2302,7 @@ static void jbd2_journal_destroy_slabs(void)
 	int i;
 	int i;
 
 
 	for (i = 0; i < JBD2_MAX_SLABS; i++) {
 	for (i = 0; i < JBD2_MAX_SLABS; i++) {
-		if (jbd2_slab[i])
-			kmem_cache_destroy(jbd2_slab[i]);
+		kmem_cache_destroy(jbd2_slab[i]);
 		jbd2_slab[i] = NULL;
 		jbd2_slab[i] = NULL;
 	}
 	}
 }
 }
@@ -2404,10 +2403,8 @@ static int jbd2_journal_init_journal_head_cache(void)
 
 
 static void jbd2_journal_destroy_journal_head_cache(void)
 static void jbd2_journal_destroy_journal_head_cache(void)
 {
 {
-	if (jbd2_journal_head_cache) {
-		kmem_cache_destroy(jbd2_journal_head_cache);
-		jbd2_journal_head_cache = NULL;
-	}
+	kmem_cache_destroy(jbd2_journal_head_cache);
+	jbd2_journal_head_cache = NULL;
 }
 }
 
 
 /*
 /*
@@ -2665,11 +2662,10 @@ static int __init jbd2_journal_init_handle_cache(void)
 
 
 static void jbd2_journal_destroy_handle_cache(void)
 static void jbd2_journal_destroy_handle_cache(void)
 {
 {
-	if (jbd2_handle_cache)
-		kmem_cache_destroy(jbd2_handle_cache);
-	if (jbd2_inode_cache)
-		kmem_cache_destroy(jbd2_inode_cache);
-
+	kmem_cache_destroy(jbd2_handle_cache);
+	jbd2_handle_cache = NULL;
+	kmem_cache_destroy(jbd2_inode_cache);
+	jbd2_inode_cache = NULL;
 }
 }
 
 
 /*
 /*

+ 4 - 8
fs/jbd2/revoke.c

@@ -180,14 +180,10 @@ static struct jbd2_revoke_record_s *find_revoke_record(journal_t *journal,
 
 
 void jbd2_journal_destroy_revoke_caches(void)
 void jbd2_journal_destroy_revoke_caches(void)
 {
 {
-	if (jbd2_revoke_record_cache) {
-		kmem_cache_destroy(jbd2_revoke_record_cache);
-		jbd2_revoke_record_cache = NULL;
-	}
-	if (jbd2_revoke_table_cache) {
-		kmem_cache_destroy(jbd2_revoke_table_cache);
-		jbd2_revoke_table_cache = NULL;
-	}
+	kmem_cache_destroy(jbd2_revoke_record_cache);
+	jbd2_revoke_record_cache = NULL;
+	kmem_cache_destroy(jbd2_revoke_table_cache);
+	jbd2_revoke_table_cache = NULL;
 }
 }
 
 
 int __init jbd2_journal_init_revoke_caches(void)
 int __init jbd2_journal_init_revoke_caches(void)

+ 2 - 4
fs/jbd2/transaction.c

@@ -49,10 +49,8 @@ int __init jbd2_journal_init_transaction_cache(void)
 
 
 void jbd2_journal_destroy_transaction_cache(void)
 void jbd2_journal_destroy_transaction_cache(void)
 {
 {
-	if (transaction_cache) {
-		kmem_cache_destroy(transaction_cache);
-		transaction_cache = NULL;
-	}
+	kmem_cache_destroy(transaction_cache);
+	transaction_cache = NULL;
 }
 }
 
 
 void jbd2_journal_free_transaction(transaction_t *transaction)
 void jbd2_journal_free_transaction(transaction_t *transaction)