All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Kevin Wolf" <kwolf@redhat.com>,
	"Daniel P . Berrangé" <berrange@redhat.com>,
	qemu-block@nongnu.org, "Juan Quintela" <quintela@redhat.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	"Max Reitz" <mreitz@redhat.com>,
	"Pavel Dovgalyuk" <pavel.dovgaluk@ispras.ru>,
	"Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [PATCH 2/3] migration: Make save_snapshot() return bool, not 0/-1
Date: Fri, 9 Oct 2020 15:57:39 +0200	[thread overview]
Message-ID: <12771745-2c0b-f829-2c3d-c655a2b9b5ba@redhat.com> (raw)
In-Reply-To: <20201008174803.2696619-3-philmd@redhat.com>

On 10/8/20 7:48 PM, Philippe Mathieu-Daudé wrote:
> Just for consistency, following the example documented since
> commit e3fe3988d7 ("error: Document Error API usage rules").

I meant to use this description:

   Just for consistency, following the example documented since
   commit e3fe3988d7 ("error: Document Error API usage rules"),
   return a boolean value indicating an error is set or not.

> Document the function.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>   include/migration/snapshot.h |  9 ++++++++-
>   migration/savevm.c           | 16 ++++++++--------
>   replay/replay-debugging.c    |  2 +-
>   replay/replay-snapshot.c     |  2 +-
>   4 files changed, 18 insertions(+), 11 deletions(-)
> 
> diff --git a/include/migration/snapshot.h b/include/migration/snapshot.h
> index c85b6ec75b..a40c34307b 100644
> --- a/include/migration/snapshot.h
> +++ b/include/migration/snapshot.h
> @@ -15,7 +15,14 @@
>   #ifndef QEMU_MIGRATION_SNAPSHOT_H
>   #define QEMU_MIGRATION_SNAPSHOT_H
>   
> -int save_snapshot(const char *name, Error **errp);
> +/**
> + * save_snapshot: Save a snapshot.
> + * @name: path to snapshot
> + * @errp: pointer to error object
> + * On success, return %true.
> + * On failure, store an error through @errp and return %false.
> + */
> +bool save_snapshot(const char *name, Error **errp);
>   int load_snapshot(const char *name, Error **errp);
>   
>   #endif
> diff --git a/migration/savevm.c b/migration/savevm.c
> index a52da440f4..fd2e5e8b66 100644
> --- a/migration/savevm.c
> +++ b/migration/savevm.c
> @@ -2658,7 +2658,7 @@ int qemu_load_device_state(QEMUFile *f)
>       return 0;
>   }
>   
> -int save_snapshot(const char *name, Error **errp)
> +bool save_snapshot(const char *name, Error **errp)
>   {
>       BlockDriverState *bs;
>       QEMUSnapshotInfo sn1, *sn = &sn1, old_sn1, *old_sn = &old_sn1;
> @@ -2671,29 +2671,29 @@ int save_snapshot(const char *name, Error **errp)
>       AioContext *aio_context;
>   
>       if (migration_is_blocked(errp)) {
> -        return ret;
> +        return false;
>       }
>   
>       if (!replay_can_snapshot()) {
>           error_setg(errp, "Record/replay does not allow making snapshot "
>                      "right now. Try once more later.");
> -        return ret;
> +        return false;
>       }
>   
>       if (!bdrv_all_can_snapshot(errp)) {
> -        return ret;
> +        return false;
>       }
>   
>       /* Delete old snapshots of the same name */
>       if (name) {
>           if (bdrv_all_delete_snapshot(name, errp) < 0) {
> -            return ret;
> +            return false;
>           }
>       }
>   
>       bs = bdrv_all_find_vmstate_bs(errp);
>       if (bs == NULL) {
> -        return ret;
> +        return false;
>       }
>       aio_context = bdrv_get_aio_context(bs);
>   
> @@ -2702,7 +2702,7 @@ int save_snapshot(const char *name, Error **errp)
>       ret = global_state_store();
>       if (ret) {
>           error_setg(errp, "Error saving global state");
> -        return ret;
> +        return false;
>       }
>       vm_stop(RUN_STATE_SAVE_VM);
>   
> @@ -2779,7 +2779,7 @@ int save_snapshot(const char *name, Error **errp)
>       if (saved_vm_running) {
>           vm_start();
>       }
> -    return ret;
> +    return ret == 0;
>   }
>   
>   void qmp_xen_save_devices_state(const char *filename, bool has_live, bool live,
> diff --git a/replay/replay-debugging.c b/replay/replay-debugging.c
> index 8785489c02..5458a73fce 100644
> --- a/replay/replay-debugging.c
> +++ b/replay/replay-debugging.c
> @@ -327,7 +327,7 @@ void replay_gdb_attached(void)
>        */
>       if (replay_mode == REPLAY_MODE_PLAY
>           && !replay_snapshot) {
> -        if (save_snapshot("start_debugging", NULL) != 0) {
> +        if (!save_snapshot("start_debugging", NULL)) {
>               /* Can't create the snapshot. Continue conventional debugging. */
>           }
>       }
> diff --git a/replay/replay-snapshot.c b/replay/replay-snapshot.c
> index e26fa4c892..4f2560d156 100644
> --- a/replay/replay-snapshot.c
> +++ b/replay/replay-snapshot.c
> @@ -77,7 +77,7 @@ void replay_vmstate_init(void)
>   
>       if (replay_snapshot) {
>           if (replay_mode == REPLAY_MODE_RECORD) {
> -            if (save_snapshot(replay_snapshot, &err) != 0) {
> +            if (!save_snapshot(replay_snapshot, &err)) {
>                   error_report_err(err);
>                   error_report("Could not create snapshot for icount record");
>                   exit(1);
> 



  parent reply	other threads:[~2020-10-09 14:01 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-08 17:48 [PATCH 0/3] migration: Make save/load_snapshot() return boolean Philippe Mathieu-Daudé
2020-10-08 17:48 ` [PATCH 1/3] block: push error reporting into bdrv_all_*_snapshot functions Philippe Mathieu-Daudé
2020-10-12 10:07   ` Max Reitz
2020-10-12 10:16     ` Philippe Mathieu-Daudé
2020-10-12 11:09       ` Max Reitz
2020-10-12 11:56         ` Philippe Mathieu-Daudé
2020-10-08 17:48 ` [PATCH 2/3] migration: Make save_snapshot() return bool, not 0/-1 Philippe Mathieu-Daudé
2020-10-09 12:09   ` Pavel Dovgalyuk
2020-10-09 13:57   ` Philippe Mathieu-Daudé [this message]
2020-10-08 17:48 ` [PATCH 3/3] migration: stop returning errno from load_snapshot() Philippe Mathieu-Daudé
2020-10-09 12:10   ` Pavel Dovgalyuk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=12771745-2c0b-f829-2c3d-c655a2b9b5ba@redhat.com \
    --to=philmd@redhat.com \
    --cc=berrange@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=pavel.dovgaluk@ispras.ru \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.