qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC v2 2/5] vmstate: add VMS_NONE


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [RFC v2 2/5] vmstate: add VMS_NONE
Date: Mon, 24 Mar 2014 17:07:39 +0000
User-agent: Mutt/1.5.21 (2010-09-15)

* Michael S. Tsirkin (address@hidden) wrote:
> The element with this flags value is skipped.
> 
> Signed-off-by: Michael S. Tsirkin <address@hidden>
> ---
>  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 / address@hidden / Manchester, UK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]