Hi Gui,

(2014/07/17 11:40), Gui Hecheng wrote:
> o Return 0 to indicate success,
>    when detected errors were corrected during scrubbing.
>    P.s. This is also to facilitate scripting when return value
>         is to be checked.
> o Warn the users if there are uncorrectable errors detected.
> 
> Signed-off-by: Gui Hecheng <guihc.f...@cn.fujitsu.com>
> ---
>   cmds-scrub.c | 13 ++++++++-----
>   1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/cmds-scrub.c b/cmds-scrub.c
> index 5265a2b..f9e2b40 100644
> --- a/cmds-scrub.c
> +++ b/cmds-scrub.c
> @@ -1514,14 +1514,17 @@ out:
>       }
>       close_file_or_dir(fdmnt, dirstream);
>   
> -     if (nothing_to_resume)
> -             return 2;
>       if (err)
>               return 1;
> -     if (e_correctable)
> +     if (nothing_to_resume)
> +             return 2;
> +     if (e_uncorrectable) {
> +             ERR(!do_quiet, "ERROR: There are uncorrectable errors.\n");
>               return 3;
> -     if (e_uncorrectable)
> -             return 4;
> +     }
> +     if (e_correctable)
> +             ERR(!do_quiet, "WARNING: errors detected during scrubbing, 
> corrected.\n");
> +

1. ERR() messages are not necessary since start command
   reports its status in the middle of scrub_start().
   It includes both the number of correctable/uncorrectable errors.

2. It prints messages even if this program runs as foreground mode.
   Checking do_print is necessary.

3. Whether correctable/uncorrectable error exists in a file system
   is not related to the exist status of scrub. The role of this
   program is

    a) reading all data from all devices and verify checksums, and
    b) correct checksum errors "if possible".

   So, I consider scrub only returns error if this program itself
   failed to finish.

Thanks,
Satoru

>       return 0;
>   }
>   
> 

--
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