dm thin metadata: lift some initialisation out of __open_or_format_metadata
Lift some initialisation out of __open_or_format_metadata in dm-thin-metadata.
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>
diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c
index b646a71f..ce487aa 100644
--- a/drivers/md/dm-thin-metadata.c
+++ b/drivers/md/dm-thin-metadata.c
@@ -489,14 +489,11 @@
}
__setup_btree_details(pmd);
- pmd->root = 0;
- init_rwsem(&pmd->root_lock);
- pmd->time = 0;
+ pmd->root = 0;
pmd->details_root = 0;
pmd->trans_id = 0;
pmd->flags = 0;
- INIT_LIST_HEAD(&pmd->thin_devices);
return 0;
@@ -710,6 +707,9 @@
return ERR_PTR(-ENOMEM);
}
+ init_rwsem(&pmd->root_lock);
+ pmd->time = 0;
+ INIT_LIST_HEAD(&pmd->thin_devices);
pmd->bdev = bdev;
r = __create_persistent_data_objects(pmd, 0, &create);