Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 237074c0 authored by Joe Thornber's avatar Joe Thornber Committed by Alasdair G Kergon
Browse files

dm thin metadata: move __superblock_all_zeroes to __open_or_format_metadata



Move the check for __superblock_all_zeroes from
__create_persistent_data_objects() down to __open_or_format_metadata in
dm-thin-metadata.

Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
parent a97e5e6f
Loading
Loading
Loading
Loading
+9 −9
Original line number Original line Diff line number Diff line
@@ -596,9 +596,15 @@ bad:
}
}


static int __open_or_format_metadata(struct dm_pool_metadata *pmd,
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);
		return __format_metadata(pmd);
	else
	else
		return __open_metadata(pmd);
		return __open_metadata(pmd);
@@ -617,13 +623,7 @@ static int __create_persistent_data_objects(struct dm_pool_metadata *pmd,
		return PTR_ERR(pmd->bm);
		return PTR_ERR(pmd->bm);
	}
	}


	r = __superblock_all_zeroes(pmd->bm, create);
	r = __open_or_format_metadata(pmd, create);
	if (r) {
		dm_block_manager_destroy(pmd->bm);
		return r;
	}

	r = __open_or_format_metadata(pmd, *create);
	if (r)
	if (r)
		dm_block_manager_destroy(pmd->bm);
		dm_block_manager_destroy(pmd->bm);