At Tue, 19 Sep 2017 16:41:52 +0900,
Misono, Tomohiro wrote:
> 
> "btrfs subvolume create/delete" outputs the message of "Create/Delete
> subvolume ..." even when an operation fails.
> Since it is confusing, let's outputs the message only when an operation 
> succeeds.
> 
> Signed-off-by: Tomohiro Misono <misono.tomoh...@jp.fujitsu.com>

Current message as follows is odd as you said. 

```
Create subvolume './test'
ERROR: cannot create subvolume: No such file or directory
```

It's ambiguous for users to know whether creating subvolume succeeded or not.

I tested this patch with injecting error on ioctl() for subvol 
creation/deletion.

Reviewed-by: Satoru Takeuchi <satoru.takeu...@gmail.com>
Tested-by: Satoru Takeuchi <satoru.takeu...@gmail.com>

> ---
>  cmds-subvolume.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/cmds-subvolume.c b/cmds-subvolume.c
> index 666f6e0..6d4b0fe 100644
> --- a/cmds-subvolume.c
> +++ b/cmds-subvolume.c
> @@ -189,7 +189,6 @@ static int cmd_subvol_create(int argc, char **argv)
>       if (fddst < 0)
>               goto out;
>  
> -     printf("Create subvolume '%s/%s'\n", dstdir, newname);
>       if (inherit) {
>               struct btrfs_ioctl_vol_args_v2  args;
>  
> @@ -213,6 +212,7 @@ static int cmd_subvol_create(int argc, char **argv)
>               error("cannot create subvolume: %s", strerror(errno));
>               goto out;
>       }
> +     printf("Create subvolume '%s/%s'\n", dstdir, newname);
>  
>       retval = 0;     /* success */
>  out:
> @@ -337,9 +337,6 @@ again:
>               goto out;
>       }
>  
> -     printf("Delete subvolume (%s): '%s/%s'\n",
> -             commit_mode == 2 || (commit_mode == 1 && cnt + 1 == argc)
> -             ? "commit" : "no-commit", dname, vname);
>       memset(&args, 0, sizeof(args));
>       strncpy_null(args.name, vname);
>       res = ioctl(fd, BTRFS_IOC_SNAP_DESTROY, &args);
> @@ -349,6 +346,9 @@ again:
>               ret = 1;
>               goto out;
>       }
> +     printf("Delete subvolume (%s): '%s/%s'\n",
> +             commit_mode == 2 || (commit_mode == 1 && cnt + 1 == argc)
> +             ? "commit" : "no-commit", dname, vname);
>  
>       if (commit_mode == 1) {
>               res = wait_for_commit(fd);
> -- 
> 2.9.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to