diff mbox series

btrfs-progs: remove redundant fs uuid validation from make_btrf

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

Commit Message

Nikolay Borisov Dec. 16, 2021, 10 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>
---
 mkfs/common.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

--
2.17.1

Comments

Anand Jain Dec. 16, 2021, 11:53 a.m. UTC | #1
On 16/12/2021 18:00, 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>

Reviewed-by: Anand Jain <anand.jain@oracle.com>

--Anand

> ---
>   mkfs/common.c | 13 +------------
>   1 file changed, 1 insertion(+), 12 deletions(-)
> 
> diff --git a/mkfs/common.c b/mkfs/common.c
> index fec23e64b2b2..72e84bc01712 100644
> --- a/mkfs/common.c
> +++ b/mkfs/common.c
> @@ -260,18 +260,7 @@ 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);
>   	}
> --
> 2.17.1
>
Nikolay Borisov Dec. 16, 2021, 11:58 a.m. UTC | #2
On 16.12.21 г. 12:00, 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.

Actually the checks are executed but can never fail because they've
already succeeded before calling them for the 2nd time here :). David
you might want to amend this when committing.

> 
> Signed-off-by: Nikolay Borisov <nborisov@suse.com>
> ---
>  mkfs/common.c | 13 +------------
>  1 file changed, 1 insertion(+), 12 deletions(-)
> 
> diff --git a/mkfs/common.c b/mkfs/common.c
> index fec23e64b2b2..72e84bc01712 100644
> --- a/mkfs/common.c
> +++ b/mkfs/common.c
> @@ -260,18 +260,7 @@ 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);
>  	}
> --
> 2.17.1
>
David Sterba Jan. 4, 2022, 6:48 p.m. UTC | #3
On Thu, Dec 16, 2021 at 12:00:12PM +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>

Added to devel, thanks.
David Sterba Jan. 6, 2022, 2:46 p.m. UTC | #4
On Tue, Jan 04, 2022 at 07:48:02PM +0100, David Sterba wrote:
> On Thu, Dec 16, 2021 at 12:00:12PM +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>
> 
> Added to devel, thanks.

And removed again, tests don't pass:

 $ make TEST=002-uuid-rewrite test-misc
 FAIL: current UUID mismatch
 test failed for case 002-uuid-rewrite
 make: *** [Makefile:457: test-misc] Error 1
diff mbox series

Patch

diff --git a/mkfs/common.c b/mkfs/common.c
index fec23e64b2b2..72e84bc01712 100644
--- a/mkfs/common.c
+++ b/mkfs/common.c
@@ -260,18 +260,7 @@  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);
 	}