From 31cff0ad8d4d874a0d8d47821e80b01cd5eef30a Mon Sep 17 00:00:00 2001 From: Joe Thornber Date: Wed, 11 Jul 2012 16:06:33 +0100 Subject: [PATCH 12/34] dm thin metadata: factor out __destroy_persistent_data_objects Code tidy. Signed-off-by: Joe Thornber Signed-off-by: Mike Snitzer --- drivers/md/dm-thin-metadata.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) Index: linux-2.6/drivers/md/dm-thin-metadata.c =================================================================== --- linux-2.6.orig/drivers/md/dm-thin-metadata.c +++ linux-2.6/drivers/md/dm-thin-metadata.c @@ -536,6 +536,15 @@ static int __create_persistent_data_obje return r; } +static void __destroy_persistent_data_objects(struct dm_pool_metadata *pmd) +{ + dm_sm_destroy(pmd->data_sm); + dm_sm_destroy(pmd->metadata_sm); + dm_tm_destroy(pmd->nb_tm); + dm_tm_destroy(pmd->tm); + dm_block_manager_destroy(pmd->bm); +} + static int __begin_transaction(struct dm_pool_metadata *pmd) { int r; @@ -793,11 +802,7 @@ int dm_pool_metadata_close(struct dm_poo DMWARN("%s: __commit_transaction() failed, error = %d", __func__, r); - dm_tm_destroy(pmd->tm); - dm_tm_destroy(pmd->nb_tm); - dm_block_manager_destroy(pmd->bm); - dm_sm_destroy(pmd->metadata_sm); - dm_sm_destroy(pmd->data_sm); + __destroy_persistent_data_objects(pmd); kfree(pmd); return 0;