mirror of https://gitee.com/openkylin/qemu.git
vhost-user: Send VHOST_RESET_OWNER on vhost stop
Ensure that the vhost-user slave knows when the vrings are valid and when they are invalid, for example during a guest reboot. The vhost-user protocol says this of VHOST_RESET_OWNER: Issued when a new connection is about to be closed. The Master will no longer own this connection (and will usually close it). Send this message to tell the vhost-user slave that the vhost session has ended and that session state (e.g. vrings) is no longer valid. Signed-off-by: Luke Gorrie <luke@snabb.co> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
658c27181b
commit
294ce717e0
|
@ -263,6 +263,13 @@ static void vhost_net_stop_one(struct vhost_net *net,
|
||||||
&file);
|
&file);
|
||||||
assert(r >= 0);
|
assert(r >= 0);
|
||||||
}
|
}
|
||||||
|
} else if (net->nc->info->type == NET_CLIENT_OPTIONS_KIND_VHOST_USER) {
|
||||||
|
for (file.index = 0; file.index < net->dev.nvqs; ++file.index) {
|
||||||
|
const VhostOps *vhost_ops = net->dev.vhost_ops;
|
||||||
|
int r = vhost_ops->vhost_call(&net->dev, VHOST_RESET_OWNER,
|
||||||
|
NULL);
|
||||||
|
assert(r >= 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (net->nc->info->poll) {
|
if (net->nc->info->poll) {
|
||||||
net->nc->info->poll(net->nc, true);
|
net->nc->info->poll(net->nc, true);
|
||||||
|
|
Loading…
Reference in New Issue