On 1/20/21 4:44 AM, Daniel P. Berrangé wrote:
> Currently bdrv_all_find_snapshot() will return 0 if it finds
> a snapshot, -1 if an error occurs, or if it fails to find a
> snapshot. New callers to be added want to distinguish between
> the error scenario and failing to find a snapshot.
> 
> Rename it to bdrv_all_has_snapshot and make it return -1 on
> error, 0 if no snapshot is found and 1 if snapshot is found.
> 
> Reviewed-by: Eric Blake <ebl...@redhat.com>
> Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>
> ---

> +++ b/migration/savevm.c
> @@ -2942,10 +2942,15 @@ bool load_snapshot(const char *name, Error **errp)
>      if (!bdrv_all_can_snapshot(false, NULL, errp)) {
>          return false;
>      }
> -    ret = bdrv_all_find_snapshot(name, false, NULL, errp);
> +    ret = bdrv_all_has_snapshot(name, false, NULL, errp);
>      if (ret < 0) {
>          return false;
>      }
> +    if (ret == 0) {
> +        error_setg(errp, "Snapshot '%s' does not exist in one or more 
> devices",
> +                   name);
> +        return -1;

s/-1/false/ (hoist that hunk from 11/11).

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org


Reply via email to