On Fri, Apr 05, 2013 at 01:54:56PM +0800, Anand Jain wrote:
> --- a/cmds-balance.c
> +++ b/cmds-balance.c
> @@ -662,8 +662,12 @@ static int cmd_balance_status(int argc, char **argv)
>       close(fd);
>  
>       if (ret < 0) {
> +             if (e == ENOTCONN) {
> +                     printf("No balance found on '%s'\n", path);
> +                     return 0;
> +             }
>               fprintf(stderr, "ERROR: balance status on '%s' failed - %s\n",
> -                     path, (e == ENOTCONN) ? "Not in progress" : 
> strerror(e));

I'm not sure if we want to change the error code if balance is not in
progress. That's the only way to find out if it is so.

Let's say that I have this shell code as a balance monitor and expect it
to finish when the balance finishes:

while btrfs fi balance status; do
        sleep 5;
done

not possible after your change. What we can do is to differentiate the
status by a different error code number, let's say 1 for an error and 2
for 'not in progress'.

> +                     path, strerror(e));
>               return 19;
>       }
--
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