Hi Jason, On 03/26/2018 04:00 AM, Jason Wang wrote: > From: Julia Suvorova via Qemu-devel <qemu-devel@nongnu.org>
This doesn't look right, shouldn't it be Julia Suvorova <jus...@mail.ru>? > > Despite the fact that now when the initialization of vde fails, qemu > does not end silently, no informative error is printed. The patch > generates an error and pushes it through the calling function. > > Related bug: https://bugs.launchpad.net/qemu/+bug/676029 > > Signed-off-by: Julia Suvorova <jus...@mail.ru> > Signed-off-by: Jason Wang <jasow...@redhat.com> > --- > net/vde.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/net/vde.c b/net/vde.c > index e50e5d6..99189cc 100644 > --- a/net/vde.c > +++ b/net/vde.c > @@ -30,6 +30,7 @@ > #include "qemu-common.h" > #include "qemu/option.h" > #include "qemu/main-loop.h" > +#include "qapi/error.h" > > typedef struct VDEState { > NetClientState nc; > @@ -76,7 +77,7 @@ static NetClientInfo net_vde_info = { > > static int net_vde_init(NetClientState *peer, const char *model, > const char *name, const char *sock, > - int port, const char *group, int mode) > + int port, const char *group, int mode, Error **errp) > { > NetClientState *nc; > VDEState *s; > @@ -92,6 +93,7 @@ static int net_vde_init(NetClientState *peer, const char > *model, > > vde = vde_open(init_sock, (char *)"QEMU", &args); > if (!vde){ > + error_setg_errno(errp, errno, "Could not open vde"); > return -1; > } > > @@ -112,7 +114,6 @@ static int net_vde_init(NetClientState *peer, const char > *model, > int net_init_vde(const Netdev *netdev, const char *name, > NetClientState *peer, Error **errp) > { > - /* FIXME error_setg(errp, ...) on failure */ > const NetdevVdeOptions *vde; > > assert(netdev->type == NET_CLIENT_DRIVER_VDE); > @@ -120,7 +121,7 @@ int net_init_vde(const Netdev *netdev, const char *name, > > /* missing optional values have been initialized to "all bits zero" */ > if (net_vde_init(peer, "vde", name, vde->sock, vde->port, vde->group, > - vde->has_mode ? vde->mode : 0700) == -1) { > + vde->has_mode ? vde->mode : 0700, errp) == -1) { > return -1; > } > >