From 8ac97aa2db43a7c684a13557923057c13658f251 Mon Sep 17 00:00:00 2001 From: Joe Thornber Date: Wed, 11 Jul 2012 11:48:33 +0100 Subject: [PATCH 23/34] dm thin metadata: move the check for superblock_all_zeroes Code tidy. Push it from __create_persistent_data_objects() down to __format_or_open_metadata(). Signed-off-by: Joe Thornber Signed-off-by: Mike Snitzer --- drivers/md/dm-thin-metadata.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 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 @@ -596,9 +596,15 @@ bad: } static int __open_or_format_metadata(struct dm_pool_metadata *pmd, - int create) + int *create) { - if (create) + int r; + + r = superblock_all_zeroes(pmd->bm, create); + if (r) + return r; + + if (*create) return __format_metadata(pmd); else return __open_metadata(pmd); @@ -617,13 +623,7 @@ static int __create_persistent_data_obje return -ENOMEM; } - r = superblock_all_zeroes(pmd->bm, create); - if (r) { - dm_block_manager_destroy(pmd->bm); - return r; - } - - r = __open_or_format_metadata(pmd, *create); + r = __open_or_format_metadata(pmd, create); if (r) dm_block_manager_destroy(pmd->bm);