[sheepdog] [PATCH] sheepdog: Fix misleading error messages in sd_snapshot_create()

Liu Yuan namei.unix at gmail.com
Fri Feb 13 04:57:16 CET 2015


On Thu, Feb 12, 2015 at 02:49:50PM +0100, Markus Armbruster wrote:
> If do_sd_create() fails, it first reports the error returned, then
> reports a another one with strerror(errno).  errno is meaningless at
> that point.
> 
> Report just one error combining the valid information from both
> messages.
> 
> Reported-by: Eric Blake <eblake at redhat.com>
> Signed-off-by: Markus Armbruster <armbru at redhat.com>
> ---
> Applies on top of my "[PATCH v2 00/10] Clean up around
> error_get_pretty(), qerror_report_err()", but rebasing to master would
> be trivial.
> 
>  block/sheepdog.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/block/sheepdog.c b/block/sheepdog.c
> index 6a4a3bd..0e8c712 100644
> --- a/block/sheepdog.c
> +++ b/block/sheepdog.c
> @@ -2225,9 +2225,8 @@ static int sd_snapshot_create(BlockDriverState *bs, QEMUSnapshotInfo *sn_info)
>  
>      ret = do_sd_create(s, &new_vid, 1, &local_err);
>      if (ret < 0) {
> -        error_report_err(local_err);
> -        error_report("failed to create inode for snapshot. %s",
> -                     strerror(errno));
> +        error_report("failed to create inode for snapshot: %s",
> +                     error_get_pretty(local_err));
>          goto cleanup;
>      }

Reviewed-by: Liu Yuan <namei.unix at gmail.com>



More information about the sheepdog mailing list