From: Joe Thornber Date: Fri, 27 Jul 2012 14:08:10 +0000 (+0100) Subject: dm thin metadata: factor __destroy_persistent_data out of dm_pool_metadata_close X-Git-Tag: v3.6-rc1~56^2~21 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f9dd9352b92cd66729fcb0f0e32f647e811d9083;p=profile%2Fivi%2Fkernel-x86-ivi.git dm thin metadata: factor __destroy_persistent_data out of dm_pool_metadata_close Factor __destroy_persistent_data_objects out of dm_pool_metadata_close. Signed-off-by: Joe Thornber Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon --- diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c index dab2109..b646a71 100644 --- a/drivers/md/dm-thin-metadata.c +++ b/drivers/md/dm-thin-metadata.c @@ -535,6 +535,15 @@ static int __create_persistent_data_objects(struct dm_pool_metadata *pmd, 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; @@ -792,11 +801,7 @@ int dm_pool_metadata_close(struct dm_pool_metadata *pmd) 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;