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.

Thanks,
Jianjun

> Dave
> 
>> Paolo
> --
> Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
> 


Reply via email to