[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 29/41] virtio-net: in_use and first_multi only h
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] Re: [PATCH 29/41] virtio-net: in_use and first_multi only handle unsigned values |
Date: |
Wed, 2 Dec 2009 20:32:08 +0200 |
User-agent: |
Mutt/1.5.19 (2009-01-05) |
On Wed, Dec 02, 2009 at 07:30:18PM +0100, Juan Quintela wrote:
> "Michael S. Tsirkin" <address@hidden> wrote:
> > On Wed, Dec 02, 2009 at 01:04:27PM +0100, Juan Quintela wrote:
> >> And they were saved/loaded as unsigned already
> >
> > I'm not sure how does on save/load a value as unsigned.
> > Could you please provide motivation for this
> > and similar changes?
> > Not that it matters very much, but int is slightly cleaner
> > than uint32_t for something that is only 1 or 0.
> >
> >> Signed-off-by: Juan Quintela <address@hidden>
> >> ---
> >> hw/virtio-net.c | 8 ++++----
> >> 1 files changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/hw/virtio-net.c b/hw/virtio-net.c
> >> index 05cc67f..589ea80 100644
> >> --- a/hw/virtio-net.c
> >> +++ b/hw/virtio-net.c
> >> @@ -50,8 +50,8 @@ typedef struct VirtIONet
> >> uint8_t nouni;
> >> uint8_t nobcast;
> >> struct {
> >> - int in_use;
> >> - int first_multi;
> >> + uint32_t in_use;
> >> + uint32_t first_multi;
> >> uint8_t multi_overflow;
> >> uint8_t uni_overflow;
> >> uint8_t *macs;
> >> @@ -715,7 +715,7 @@ static void virtio_net_save(QEMUFile *f, void *opaque)
> >> qemu_put_be16s(f, &n->status);
> >> qemu_put_8s(f, &n->promisc);
> >> qemu_put_8s(f, &n->allmulti);
> >> - qemu_put_be32(f, n->mac_table.in_use);
>
> This is why I hate this function.
>
> >> + qemu_put_be32s(f, &n->mac_table.in_use);
>
> This is the right one.
>
> We can change things to be int32_t if that makes more sense (they were sent
> as uint32).
>
> vmstate checks that the type of the value that you sent and the function
> that you use for sending match. In this case, it was sending a int32_t
> with the function to send uint32_t. In this particular case it didn't
> matter (value is 0/1). But vmstate don't know what cases matter/don't
> matter. It just test _always_ that you are using the right function for
> your type.
>
> If you think that it is better to change the type of the value to
> int32_t and change the functions, that is also ok with me.
> What I care is that type of function and field are the same.
>
> Later, Juan.
int is a better type than int32 here.
Please make the save/load functions match.
If you like, convert it to bool.
--
MST
- [Qemu-devel] [PATCH 27/41] virtio-net: abstract vlans operations, (continued)
[Qemu-devel] [PATCH 28/41] virtio-net: make vlan operations on uint8_t, not uint32_t, Juan Quintela, 2009/12/02
[Qemu-devel] [PATCH 29/41] virtio-net: in_use and first_multi only handle unsigned values, Juan Quintela, 2009/12/02
[Qemu-devel] [PATCH 30/41] virtio-net: use save/load type chek functions for has_vent_hdr, Juan Quintela, 2009/12/02
[Qemu-devel] [PATCH 32/41] virtio-net: split virtio_net_post_load, Juan Quintela, 2009/12/02
[Qemu-devel] [PATCH 31/41] virtio-net: we know macs size at compile time, make it static, Juan Quintela, 2009/12/02
[Qemu-devel] [PATCH 33/41] virtio-net: port to vmstate, Juan Quintela, 2009/12/02