On 07/10/2016 18:31, Jianjun Duan wrote:
> 
> 
> On 10/07/2016 07:34 AM, Dr. David Alan Gilbert wrote:
>> * Paolo Bonzini (pbonz...@redhat.com) wrote:
>>>
>>>
>>> On 06/10/2016 21:01, Dr. David Alan Gilbert wrote:
>>>>>>> +                } else if (field->flags & VMS_LINKED) {
>>>>>>> +                    ret = field->info->get(f, addr, size, field);
>>>>>>>                  } else {
>>>>>>>                      ret = field->info->get(f, addr, size, NULL);
>>>>>>>  
>>>>>>> @@ -193,6 +197,8 @@ static const char 
>>>>>>> *vmfield_get_type_name(VMStateField *field)
>>>>>>>  
>>>>>>>      if (field->flags & VMS_STRUCT) {
>>>>>>>          type = "struct";
>>>>>>> +    } else if (field->flags & VMS_LINKED) {
>>>>>>> +        type = "linked";
>>>>>>>      } else if (field->info->name) {
>>>>>>>          type = field->info->name;
>>>>>>>      }
>>>>>>> @@ -327,6 +333,8 @@ void vmstate_save_state(QEMUFile *f, const 
>>>>>>> VMStateDescription *vmsd,
>>>>>>>                  }
>>>>>>>                  if (field->flags & VMS_STRUCT) {
>>>>>>>                      vmstate_save_state(f, field->vmsd, addr, 
>>>>>>> vmdesc_loop);
>>>>>>> +                } else if  (field->flags & VMS_LINKED) {
>>>>>>> +                    field->info->put(f, addr, size, field, 
>>>>>>> vmdesc_loop);
>>>>>>>                  } else {
>>>>>>>                      field->info->put(f, addr, size, NULL, NULL);
>>>>>>>                  }
>>>
>>> Is VMS_LINKED needed at all, since the fields are unused for every
>>> VMStateInfo except qtailq?
>>
>> No, I think you could easily drop the VMS_LINKED and just always pass them 
>> in.
> 
> It is needed if we want to use vmdesc_loop.

Just always pass it in, can't you?

Paolo

Reply via email to