virtio-net: set/clear vhost_started in reverse order
As vhost started is cleared last thing on stop, set it first things on start. This makes it possible to use vhost_started while start is in progress which is used by follow-up patches. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
f1d0f15a6d
commit
1830b80ff2
|
@ -126,12 +126,12 @@ static void virtio_net_vhost_status(VirtIONet *n, uint8_t status)
|
||||||
if (!vhost_net_query(tap_get_vhost_net(n->nic->nc.peer), &n->vdev)) {
|
if (!vhost_net_query(tap_get_vhost_net(n->nic->nc.peer), &n->vdev)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
n->vhost_started = 1;
|
||||||
r = vhost_net_start(tap_get_vhost_net(n->nic->nc.peer), &n->vdev);
|
r = vhost_net_start(tap_get_vhost_net(n->nic->nc.peer), &n->vdev);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
error_report("unable to start vhost net: %d: "
|
error_report("unable to start vhost net: %d: "
|
||||||
"falling back on userspace virtio", -r);
|
"falling back on userspace virtio", -r);
|
||||||
} else {
|
n->vhost_started = 0;
|
||||||
n->vhost_started = 1;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
vhost_net_stop(tap_get_vhost_net(n->nic->nc.peer), &n->vdev);
|
vhost_net_stop(tap_get_vhost_net(n->nic->nc.peer), &n->vdev);
|
||||||
|
|
Loading…
Reference in a new issue