From fb2eca4cfdae0bd3ed5b68226e550e163d5f4de5 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Wed, 9 Jul 2008 05:24:08 +0000 Subject: [PATCH] give a more useful diagnostic for tap-add failure w/ENOTSUP * src/qemu_conf.c (qemudNetworkIfaceConnect): Suggestion from Daniel P. Berrange. --- ChangeLog | 8 +++++++- src/qemu_conf.c | 14 +++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1d44d79258..8b76e7693a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Jul 9 07:23:31 CEST 2008 Jim Meyering + + give a more useful diagnostic for tap-add failure w/ENOTSUP + * src/qemu_conf.c (qemudNetworkIfaceConnect): + Suggestion from Daniel P. Berrange. + Tue Jul 8 18:47:56 BST 2008 Daniel P. Berrange * src/xs_internal.c: Fix typo in domain state constant (Toth @@ -49,7 +55,7 @@ Fri Jun 27 15:05:31 PDT 2008 Dan Smith Fix compiler warnings in LXC * src/veth.c: remove unused and fix uninitialized variable -Thu Jun 26 19:51:19 JST 2008 Atsushi SAKAI +Thu Jun 26 19:51:19 JST 2008 Atsushi SAKAI fix make syntax-check * src/xm_internal.c: replace tabs to spaces diff --git a/src/qemu_conf.c b/src/qemu_conf.c index 17f0162cd9..4b8c01ecae 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -2304,9 +2304,17 @@ qemudNetworkIfaceConnect(virConnectPtr conn, if ((err = brAddTap(driver->brctl, brname, ifname, BR_IFNAME_MAXLEN, &tapfd))) { - qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, - _("Failed to add tap interface '%s' to bridge '%s' : %s"), - ifname, brname, strerror(err)); + if (errno == ENOTSUP) { + /* In this particular case, give a better diagnostic. */ + qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, + _("Failed to add tap interface to bridge. " + "%s is not a bridge device"), brname); + } else { + qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, + _("Failed to add tap interface '%s' " + "to bridge '%s' : %s"), + ifname, brname, strerror(err)); + } goto error; }