qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC v2 2/5] vmstate: add VMS_NONE
Date: Mon, 24 Mar 2014 17:07:39 +0000	[thread overview]
Message-ID: <20140324170738.GH3829@work-vm> (raw)
In-Reply-To: <1395671853-2685-3-git-send-email-mst@redhat.com>

* Michael S. Tsirkin (mst@redhat.com) wrote:
> The element with this flags value is skipped.
> 
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
>  include/migration/vmstate.h | 1 +
>  vmstate.c                   | 4 +++-
>  2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
> index e7e1705..3a1587e 100644
> --- a/include/migration/vmstate.h
> +++ b/include/migration/vmstate.h
> @@ -88,6 +88,7 @@ struct VMStateInfo {
>  };
>  
>  enum VMStateFlags {
> +    VMS_NONE             = 0x000,
>      VMS_SINGLE           = 0x001,
>      VMS_POINTER          = 0x002,
>      VMS_ARRAY            = 0x004,

I think this would be simpler if you just gave it it's own
bit, the next patch already makes the mask more complicated.

However, do you need it?  Why not just declare a VMS_ARRAY with field->num=0 ?

Dave

> diff --git a/vmstate.c b/vmstate.c
> index 18b3732..fe53735 100644
> --- a/vmstate.c
> +++ b/vmstate.c
> @@ -13,7 +13,9 @@ static int vmstate_n_elems(void *opaque, VMStateField *field)
>  {
>      int n_elems = 1;
>  
> -    if (field->flags & VMS_ARRAY) {
> +    if (!(field->flags & ~VMS_NONE)) {
> +        n_elems = 0;
> +    } else if (field->flags & VMS_ARRAY) {
>          n_elems = field->num;
>      } else if (field->flags & VMS_VARRAY_INT32) {
>          n_elems = *(int32_t *)(opaque+field->num_offset);
> -- 
> MST
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

  reply	other threads:[~2014-03-24 17:08 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-24 14:37 [Qemu-devel] [RFC v2 0/5] state loading security issues Michael S. Tsirkin
2014-03-24 14:37 ` [Qemu-devel] [RFC v2 1/5] vmstate: reduce code duplication Michael S. Tsirkin
2014-03-24 15:56   ` Dr. David Alan Gilbert
2014-03-24 14:37 ` [Qemu-devel] [RFC v2 2/5] vmstate: add VMS_NONE Michael S. Tsirkin
2014-03-24 17:07   ` Dr. David Alan Gilbert [this message]
2014-03-24 21:51     ` Michael S. Tsirkin
2014-03-24 14:38 ` [Qemu-devel] [RFC v2 3/5] vmstate: add VMS_MUST_EXIST Michael S. Tsirkin
2014-03-24 16:21   ` Michael S. Tsirkin
2014-03-24 17:11   ` Dr. David Alan Gilbert
2014-03-24 21:50     ` Michael S. Tsirkin
2014-03-25  9:23       ` Dr. David Alan Gilbert
2014-03-25  9:27         ` Michael S. Tsirkin
2014-03-24 14:38 ` [Qemu-devel] [RFC v2 4/5] vmstate: add VMSTATE_TEST Michael S. Tsirkin
2014-03-24 14:38 ` [Qemu-devel] [RFC v2 5/5] hpet: fix buffer overrun on invalid state load Michael S. Tsirkin
2014-03-24 16:25 ` [Qemu-devel] [RFC v2 0/5] state loading security issues Michael S. Tsirkin

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=20140324170738.GH3829@work-vm \
    --to=dgilbert@redhat.com \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).