[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 3/3] savevm: Convert loadvm handlers list to LIS
From: |
Juan Quintela |
Subject: |
[Qemu-devel] Re: [PATCH 3/3] savevm: Convert loadvm handlers list to LIST |
Date: |
Tue, 01 Sep 2009 00:08:43 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Luiz Capitulino <address@hidden> wrote:
> On Fri, 28 Aug 2009 22:31:57 +0200
> Juan Quintela <address@hidden> wrote:
>
>>
>> Signed-off-by: Juan Quintela <address@hidden>
>> ---
>> savevm.c | 20 +++++++++++---------
>> 1 files changed, 11 insertions(+), 9 deletions(-)
>>
>> diff --git a/savevm.c b/savevm.c
>> index baef277..9836c60 100644
>> --- a/savevm.c
>> +++ b/savevm.c
>> @@ -1260,10 +1260,10 @@ static SaveStateEntry *find_se(const char *idstr,
>> int instance_id)
>> }
>>
>> typedef struct LoadStateEntry {
>> + LIST_ENTRY(LoadStateEntry) entry;
>> SaveStateEntry *se;
>> int section_id;
>> int version_id;
>> - struct LoadStateEntry *next;
>> } LoadStateEntry;
>>
>> static int qemu_loadvm_state_v2(QEMUFile *f)
>> @@ -1309,7 +1309,8 @@ static int qemu_loadvm_state_v2(QEMUFile *f)
>>
>> int qemu_loadvm_state(QEMUFile *f)
>> {
>> - LoadStateEntry *first_le = NULL;
>> + LIST_HEAD(, LoadStateEntry) loadvm_handlers;
>
> You're missing the initialization here, spot this while
> testing staging.
I looked at aio.c and guess what :) No LIST_INIT() either.
My understanding is that it is not needed (but it is better to add it,
just in case the implementation change).
#define LIST_HEAD_INITIALIZER(head) \
{ NULL }
#define LIST_INIT(head) do { \
(head)->lh_first = NULL; \
} while (/*CONSTCOND*/0)
This should be what it does without puting it. Perhaps we should
"correct" also the other users?
Later, Juan.