From: Jason Wang <jasow...@redhat.com> Only tap->vhostfd were checked net_init_tap_one(), but tap->vhostfds were forgot, this will lead qemu to ignore all fds passed by management through vhostfds, and tries to create vhost_net device itself. Fix by adding this check also.
Reportyed-by: Michal Privoznik <mpriv...@redhat.com> Cc: Michal Privoznik <mpriv...@redhat.com> Cc: qemu-sta...@nongnu.org Signed-off-by: Jason Wang <jasow...@redhat.com> Reviewed-by: Michal Privoznik <mpriv...@redhat.com> Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> (cherry picked from commit 7873df408dd44eb92840b108211d5aa5db7db526) Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com> --- net/tap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/tap.c b/net/tap.c index daab350..0da48b1 100644 --- a/net/tap.c +++ b/net/tap.c @@ -628,7 +628,7 @@ static int net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer, vhostfdname || (tap->has_vhostforce && tap->vhostforce)) { int vhostfd; - if (tap->has_vhostfd) { + if (tap->has_vhostfd || tap->has_vhostfds) { vhostfd = monitor_handle_fd_param(cur_mon, vhostfdname); if (vhostfd == -1) { return -1; -- 1.7.9.5