[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/2] Fix a race condition in E1000 device live m
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH 2/2] Fix a race condition in E1000 device live migration. One of data-transfer related flags not in migrated fields list. |
Date: |
Tue, 16 Oct 2012 11:43:47 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120605 Thunderbird/13.0 |
Am 16.10.2012 10:32, schrieb Stefan Hajnoczi:
> On Mon, Oct 15, 2012 at 06:48:53PM +0200, Dmitry Fleytman wrote:
>
> The commit message is very long but the commit description is empty.
> Please keep the message short and add the rest into the description.
>
>> Signed-off-by: Dmitry Fleytman <address@hidden>
>> ---
>> hw/e1000.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/e1000.c b/hw/e1000.c
>> index 1e66ecf..efbe0c9 100644
>> --- a/hw/e1000.c
>> +++ b/hw/e1000.c
>> @@ -92,7 +92,7 @@ typedef struct E1000State_st {
>>
>> uint32_t rxbuf_size;
>> uint32_t rxbuf_min_shift;
>> - int check_rxov;
>> + uint32_t check_rxov;
>> uint32_t rx_init_done;
>> struct e1000_tx {
>> unsigned char header[256];
>> @@ -1120,6 +1120,7 @@ static const VMStateDescription vmstate_e1000 = {
>> VMSTATE_UNUSED(4), /* Was mmio_base. */
>> VMSTATE_UINT32(rxbuf_size, E1000State),
>> VMSTATE_UINT32(rxbuf_min_shift, E1000State),
>> + VMSTATE_UINT32(check_rxov, E1000State),
>
> This breaks old -> new migration. Please see docs/migration.txt on
> VMSTATE and versions. It might also be useful to use git-blame(1) on
> some existing devices to see how people have modified the VMSTATE
> without breaking migration (this is something I don't know much about).
I think you'll want to use subsections anyway because they also fix the
new -> old case as good as they can: If the common case works correctly,
you can use a subsection to send the new state only in the special case.
Kevin