mirror of
https://github.com/torvalds/linux
synced 2024-10-07 20:05:15 +00:00
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 <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
This commit is contained in:
parent
332627db00
commit
f9dd9352b9
|
@ -535,6 +535,15 @@ static int __create_persistent_data_objects(struct dm_pool_metadata *pmd,
|
||||||
return r;
|
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)
|
static int __begin_transaction(struct dm_pool_metadata *pmd)
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
|
@ -792,11 +801,7 @@ int dm_pool_metadata_close(struct dm_pool_metadata *pmd)
|
||||||
DMWARN("%s: __commit_transaction() failed, error = %d",
|
DMWARN("%s: __commit_transaction() failed, error = %d",
|
||||||
__func__, r);
|
__func__, r);
|
||||||
|
|
||||||
dm_tm_destroy(pmd->tm);
|
__destroy_persistent_data_objects(pmd);
|
||||||
dm_tm_destroy(pmd->nb_tm);
|
|
||||||
dm_block_manager_destroy(pmd->bm);
|
|
||||||
dm_sm_destroy(pmd->metadata_sm);
|
|
||||||
dm_sm_destroy(pmd->data_sm);
|
|
||||||
kfree(pmd);
|
kfree(pmd);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue