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? Paolo