diff mbox series

[v2] btrfs-progs: Remove redundant fs uuid validation from make_btrf

Message ID 20220110090155.1813901-1-nborisov@suse.com (mailing list archive)
State New, archived
Headers show
Series [v2] btrfs-progs: Remove redundant fs uuid validation from make_btrf | expand

Commit Message

Nikolay Borisov Jan. 10, 2022, 9:01 a.m. UTC
cfg->fs_uuid is either 0 or set to the value of the -U parameter
passed to mkfs.btrfs. However the value of the latter is already being
validated in the main mkfs function. Just remove the duplicated checks
in make_btrfs as they effectively can never be executed.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
---

v2:
 * Properly "copy" the cfg->fs_uuid into the superblock's fsid field. This fixes
 a failure in 002-uuid-rewrite.

 mkfs/common.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

--
2.17.1

Comments

David Sterba Jan. 11, 2022, 5:03 p.m. UTC | #1
On Mon, Jan 10, 2022 at 11:01:55AM +0200, Nikolay Borisov wrote:
> cfg->fs_uuid is either 0 or set to the value of the -U parameter
> passed to mkfs.btrfs. However the value of the latter is already being
> validated in the main mkfs function. Just remove the duplicated checks
> in make_btrfs as they effectively can never be executed.
> 
> Signed-off-by: Nikolay Borisov <nborisov@suse.com>
> ---
> 
> v2:
>  * Properly "copy" the cfg->fs_uuid into the superblock's fsid field. This fixes
>  a failure in 002-uuid-rewrite.

Added to devel, thanks.
diff mbox series

Patch

diff --git a/mkfs/common.c b/mkfs/common.c
index fec23e64b2b2..9608d27f73e7 100644
--- a/mkfs/common.c
+++ b/mkfs/common.c
@@ -260,20 +260,11 @@  int make_btrfs(int fd, struct btrfs_mkfs_config *cfg)
 	memset(&super, 0, sizeof(super));

 	num_bytes = (cfg->num_bytes / cfg->sectorsize) * cfg->sectorsize;
-	if (*cfg->fs_uuid) {
-		if (uuid_parse(cfg->fs_uuid, super.fsid) != 0) {
-			error("cannot not parse UUID: %s", cfg->fs_uuid);
-			ret = -EINVAL;
-			goto out;
-		}
-		if (!test_uuid_unique(cfg->fs_uuid)) {
-			error("non-unique UUID: %s", cfg->fs_uuid);
-			ret = -EBUSY;
-			goto out;
-		}
-	} else {
+	if (!*cfg->fs_uuid) {
 		uuid_generate(super.fsid);
 		uuid_unparse(super.fsid, cfg->fs_uuid);
+	} else {
+		uuid_parse(cfg->fs_uuid, super.fsid);
 	}
 	uuid_generate(super.dev_item.uuid);
 	uuid_generate(chunk_tree_uuid);