]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
dm thin metadata: lift some initialisation out of __open_or_format_metadata
authorJoe Thornber <ejt@redhat.com>
Fri, 27 Jul 2012 14:08:10 +0000 (15:08 +0100)
committerAlasdair G Kergon <agk@redhat.com>
Fri, 27 Jul 2012 14:08:10 +0000 (15:08 +0100)
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>
drivers/md/dm-thin-metadata.c

index b646a71f6da9ef502a5afea8eb6d731b95f38429..ce487aada0d885494d50634a4614e63879f97fa3 100644 (file)
@@ -489,14 +489,11 @@ static int __open_or_format_metadata(struct dm_pool_metadata *pmd,
        }
 
        __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 @@ struct dm_pool_metadata *dm_pool_metadata_open(struct block_device *bdev,
                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);