Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8bdd5b60 authored by Wang Long's avatar Wang Long Committed by Theodore Ts'o
Browse files

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: default avatarWang Long <wanglong19@meituan.com>
Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
Reviewed-by: default avatarJan Kara <jack@suse.cz>
parent 9196f571
Loading
Loading
Loading
Loading
+7 −11
Original line number Diff line number Diff line
@@ -2302,7 +2302,6 @@ static void jbd2_journal_destroy_slabs(void)
	int i;

	for (i = 0; i < JBD2_MAX_SLABS; i++) {
		if (jbd2_slab[i])
		kmem_cache_destroy(jbd2_slab[i]);
		jbd2_slab[i] = NULL;
	}
@@ -2404,11 +2403,9 @@ static int jbd2_journal_init_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;
}
}

/*
 * journal_head splicing and dicing
@@ -2665,11 +2662,10 @@ static int __init jbd2_journal_init_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)
	jbd2_handle_cache = NULL;
	kmem_cache_destroy(jbd2_inode_cache);

	jbd2_inode_cache = NULL;
}

/*
+4 −8
Original line number Diff line number Diff line
@@ -180,15 +180,11 @@ static struct jbd2_revoke_record_s *find_revoke_record(journal_t *journal,

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;
}
}

int __init jbd2_journal_init_revoke_caches(void)
{
+2 −4
Original line number Diff line number Diff line
@@ -49,11 +49,9 @@ int __init jbd2_journal_init_transaction_cache(void)

void jbd2_journal_destroy_transaction_cache(void)
{
	if (transaction_cache) {
	kmem_cache_destroy(transaction_cache);
	transaction_cache = NULL;
}
}

void jbd2_journal_free_transaction(transaction_t *transaction)
{