diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c
index e7b8ad78..7317f1b 100644
--- a/drivers/md/dm-thin-metadata.c
+++ b/drivers/md/dm-thin-metadata.c
@@ -595,23 +595,21 @@
 	return r;
 }
 
-static int __open_or_format_metadata(struct dm_pool_metadata *pmd,
-				     int *create)
+static int __open_or_format_metadata(struct dm_pool_metadata *pmd)
 {
-	int r;
+	int r, unformatted;
 
-	r = __superblock_all_zeroes(pmd->bm, create);
+	r = __superblock_all_zeroes(pmd->bm, &unformatted);
 	if (r)
 		return r;
 
-	if (*create)
+	if (unformatted)
 		return __format_metadata(pmd);
 	else
 		return __open_metadata(pmd);
 }
 
-static int __create_persistent_data_objects(struct dm_pool_metadata *pmd,
-					    int *create)
+static int __create_persistent_data_objects(struct dm_pool_metadata *pmd)
 {
 	int r;
 
@@ -623,7 +621,7 @@
 		return PTR_ERR(pmd->bm);
 	}
 
-	r = __open_or_format_metadata(pmd, create);
+	r = __open_or_format_metadata(pmd);
 	if (r)
 		dm_block_manager_destroy(pmd->bm);
 
@@ -794,7 +792,6 @@
 {
 	int r;
 	struct dm_pool_metadata *pmd;
-	int create;
 
 	pmd = kmalloc(sizeof(*pmd), GFP_KERNEL);
 	if (!pmd) {
@@ -808,7 +805,7 @@
 	pmd->bdev = bdev;
 	pmd->data_block_size = data_block_size;
 
-	r = __create_persistent_data_objects(pmd, &create);
+	r = __create_persistent_data_objects(pmd);
 	if (r) {
 		kfree(pmd);
 		return ERR_PTR(r);
