forked from Minki/linux
ext4: mballoc: simplify error handling in ext4_init_mballoc()
This patch simplifies error handling logic in ext4_init_mballoc(), by adding all the cleanups at one place at the end of that function. There should be no functionality change in this patch. Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com> Link: https://lore.kernel.org/r/8621a7bc68f7107a9ac4292afeb784515333bd25.1589086800.git.riteshh@linux.ibm.com Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
004379d0b0
commit
f283529aba
@ -2913,23 +2913,26 @@ int __init ext4_init_mballoc(void)
|
||||
ext4_pspace_cachep = KMEM_CACHE(ext4_prealloc_space,
|
||||
SLAB_RECLAIM_ACCOUNT);
|
||||
if (ext4_pspace_cachep == NULL)
|
||||
return -ENOMEM;
|
||||
goto out;
|
||||
|
||||
ext4_ac_cachep = KMEM_CACHE(ext4_allocation_context,
|
||||
SLAB_RECLAIM_ACCOUNT);
|
||||
if (ext4_ac_cachep == NULL) {
|
||||
kmem_cache_destroy(ext4_pspace_cachep);
|
||||
return -ENOMEM;
|
||||
}
|
||||
if (ext4_ac_cachep == NULL)
|
||||
goto out_pa_free;
|
||||
|
||||
ext4_free_data_cachep = KMEM_CACHE(ext4_free_data,
|
||||
SLAB_RECLAIM_ACCOUNT);
|
||||
if (ext4_free_data_cachep == NULL) {
|
||||
kmem_cache_destroy(ext4_pspace_cachep);
|
||||
kmem_cache_destroy(ext4_ac_cachep);
|
||||
return -ENOMEM;
|
||||
}
|
||||
if (ext4_free_data_cachep == NULL)
|
||||
goto out_ac_free;
|
||||
|
||||
return 0;
|
||||
|
||||
out_ac_free:
|
||||
kmem_cache_destroy(ext4_ac_cachep);
|
||||
out_pa_free:
|
||||
kmem_cache_destroy(ext4_pspace_cachep);
|
||||
out:
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
void ext4_exit_mballoc(void)
|
||||
|
Loading…
Reference in New Issue
Block a user