Commit 270938ba authored by Joe Thornber's avatar Joe Thornber Committed by Alasdair G Kergon
Browse files

dm thin metadata: lift __begin_transaction out of __write_initial_superblock



Lift the call to __begin_transaction out of __write_initial_superblock in
dm-thin-metadata.  Called higher up the call chain now.

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 10d2a9ff
Loading
Loading
Loading
Loading
+6 −13
Original line number Diff line number Diff line
@@ -422,7 +422,6 @@ static void __setup_btree_details(struct dm_pool_metadata *pmd)
	pmd->details_info.value_type.equal = NULL;
}

static int __begin_transaction(struct dm_pool_metadata *pmd);
static int __write_initial_superblock(struct dm_pool_metadata *pmd)
{
	int r;
@@ -478,11 +477,7 @@ static int __write_initial_superblock(struct dm_pool_metadata *pmd)
	disk_super->metadata_nr_blocks = cpu_to_le64(bdev_size >> SECTOR_TO_BLOCK_SHIFT);
	disk_super->data_block_size = cpu_to_le32(pmd->data_block_size);

	r = dm_tm_commit(pmd->tm, sblock);
	if (r)
		return r;

	return __begin_transaction(pmd);
	return dm_tm_commit(pmd->tm, sblock);

bad_locked:
	dm_bm_unlock(sblock);
@@ -800,14 +795,12 @@ struct dm_pool_metadata *dm_pool_metadata_open(struct block_device *bdev,
		return ERR_PTR(r);
	}

	if (!create) {
	r = __begin_transaction(pmd);
	if (r < 0) {
		if (dm_pool_metadata_close(pmd) < 0)
			DMWARN("%s: dm_pool_metadata_close() failed.", __func__);
		return ERR_PTR(r);
	}
	}

	return pmd;
}