Hi Qu,

(2014/07/08 14:43), Qu Wenruo wrote:
> Add mount point output for 'btrfs fi df'.
> Also since the patch uses find_mount_root() to find mount point,
> now 'btrfs fi df' can output more meaningful error message when given a
> non-btrfs path.
> 
> Signed-off-by: Qu Wenruo <[email protected]>
> ---
> This patch needs to be merged after the following path:
> btrfs-progs: Check fstype in find_mount_root()
> ---
>   cmds-filesystem.c | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/cmds-filesystem.c b/cmds-filesystem.c
> index 4b2d27e..d571765 100644
> --- a/cmds-filesystem.c
> +++ b/cmds-filesystem.c
> @@ -187,12 +187,22 @@ static int cmd_filesystem_df(int argc, char **argv)
>          int ret;
>          int fd;
>          char *path;
> +       char *mount_point = NULL;
>          DIR *dirstream = NULL;
>   
>          if (check_argc_exact(argc, 2))
>                  usage(cmd_filesystem_df_usage);
>   
>          path = argv[1];
> +       ret = find_mount_root(path, &mount_point);
> +       if (ret < 0) {
> +            if (ret != -ENOENT)

Is "if (ret != -ENOENT)" to avoid the error message duplication
with the following code?

utils.c:
===============================================================================
...
int find_mount_root(...)
{
        ...
        if (!longest_match) {
                fprintf(stderr,
                        "ERROR: Failed to find mount root for path %s.\n",
                        path);
                return -ENOENT;
        }
...
===============================================================================

I consider making the following two patches is the better way.

 - Patch 1. Removing this error message from find_mount_root().
            This cause no problem since all the current find_mount_root()
            caller show their own error message.
            
 - Patch 2. Your patch with removing that if sentence.

Thanks,
Satoru

> +                    fprintf(stderr, "ERROR: Failed to find mount root for 
> path %s: %s\n",
> +                            path, strerror(-ret));
> +             return 1;
> +       }
> +       printf("Mounted on: %s\n", mount_point);
> +       free(mount_point);
>   
>          fd = open_file_or_dir(path, &dirstream);
>          if (fd < 0) {
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to