qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH v2 6/8] migration/vmstate: split up vmstate_


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [RFC PATCH v2 6/8] migration/vmstate: split up vmstate_base_addr
Date: Fri, 16 Dec 2016 19:47:16 +0000
User-agent: Mutt/1.7.1 (2016-10-04)

* Halil Pasic (address@hidden) wrote:
> 
> 
> On 12/15/2016 02:29 PM, Dr. David Alan Gilbert wrote:
> >> +            vmstate_handle_alloc(first_elem, field, opaque);
> >> +            if (field->flags & VMS_POINTER) {
> >> +                first_elem = *(void **)first_elem;
> >> +                assert(first_elem);
> >> +            }
> >>              for (i = 0; i < n_elems; i++) {
> >>                  void *curr_elem = first_elem + size * i;
> >>  
> >> @@ -310,12 +301,16 @@ void vmstate_save_state(QEMUFile *f, const 
> >> VMStateDescription *vmsd,
> >>      while (field->name) {
> >>          if (!field->field_exists ||
> >>              field->field_exists(opaque, vmsd->version_id)) {
> >> -            void *first_elem = vmstate_base_addr(opaque, field, false);
> >> +            void *first_elem = opaque + field->offset;
> >>              int i, n_elems = vmstate_n_elems(opaque, field);
> >>              int size = vmstate_size(opaque, field);
> >>              int64_t old_offset, written_bytes;
> >>              QJSON *vmdesc_loop = vmdesc;
> >>  
> >> +            if (field->flags & VMS_POINTER) {
> >> +                first_elem = *(void **)first_elem;
> >> +                assert(first_elem);
> > Can you make that   assert(first_elem || !n_elems) please.
> > and same above.
> > 
> > Dave
> 
> Good catch! This could indeed be some dynamic length
> thing with 0 elements.
> 
> I'm not sure if I'm going to respin this year though.

Well I'm not going to review it this year if you do :-)
So have a good new year and lets see to it then!

Dave

> Halil
> 
> > 
> >> +            }
> >>              for (i = 0; i < n_elems; i++) {
> >>                  void *curr_elem = first_elem + size * i;
> >>  
> >> -- 
> >> 2.8.4
> >>
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

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