[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH v2] net: Fix hotplug with pci_add
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] Re: [PATCH v2] net: Fix hotplug with pci_add |
Date: |
Wed, 9 Jun 2010 12:58:20 +0300 |
User-agent: |
Mutt/1.5.19 (2009-01-05) |
On Tue, Jun 08, 2010 at 09:13:58PM +0530, Amit Shah wrote:
> The correct model type wasn't getting added when hotplugging nics with
> pci_add.
>
> Testcase: start VM with default nic type. In the qemu_monitor:
>
> (qemu) pci_add auto nic model=virtio
>
> This results in a nic hot-plug of the same nic type as the default.
>
> This was broken in 5294e2c774f120e10b44652ac143abda356f44eb
>
> Also changes the behaviour where no .init is defined for a
> net_client_type. Previously, 0 was returned, which indicated the init
> was successful and that 0 was the index into the nd_tables[] array.
> Return -1, indicating unsuccessful init, in such a case.
>
> Signed-off-by: Amit Shah <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
I'll pick this up if no one beats me to it.
> ---
> Sorry, v1 was a stale patch.
>
> v2:
> - Init 'ret' to -1, fixes compile err and added note in the commit msg
> explaining this.
>
> net.c | 7 +++++--
> 1 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/net.c b/net.c
> index efa8b3d..4cb93ed 100644
> --- a/net.c
> +++ b/net.c
> @@ -1106,6 +1106,7 @@ int net_client_init(Monitor *mon, QemuOpts *opts, int
> is_netdev)
> for (i = 0; net_client_types[i].type != NULL; i++) {
> if (!strcmp(net_client_types[i].type, type)) {
> VLANState *vlan = NULL;
> + int ret;
>
> if (qemu_opts_validate(opts, &net_client_types[i].desc[0]) ==
> -1) {
> return -1;
> @@ -1118,14 +1119,16 @@ int net_client_init(Monitor *mon, QemuOpts *opts, int
> is_netdev)
> vlan = qemu_find_vlan(qemu_opt_get_number(opts, "vlan", 0),
> 1);
> }
>
> + ret = -1;
> if (net_client_types[i].init) {
> - if (net_client_types[i].init(opts, mon, name, vlan) < 0) {
> + ret = net_client_types[i].init(opts, mon, name, vlan);
> + if (ret < 0) {
> /* TODO push error reporting into init() methods */
> qerror_report(QERR_DEVICE_INIT_FAILED, type);
> return -1;
> }
> }
> - return 0;
> + return ret;
> }
> }
>
> --
> 1.7.0.1
>
[Qemu-devel] Re: [PATCH v2] net: Fix hotplug with pci_add,
Michael S. Tsirkin <=