[libvirt] [PATCH 02/33] Make all brXXX APIs raise errors, instead of returning errnos
Daniel P. Berrange
berrange at redhat.com
Wed Nov 9 16:49:37 UTC 2011
On Tue, Nov 08, 2011 at 09:09:31AM -0500, Stefan Berger wrote:
> On 11/03/2011 01:29 PM, Daniel P. Berrange wrote:
> >From: "Daniel P. Berrange"<berrange at redhat.com>
> >
> >Currently every caller of the brXXX APIs has to store the returned
> >errno value and then raise an error message. This results in
> >inconsistent error messages across drivers, additional burden on
> >the callers and makes the error reporting inaccurate since it is
> >hard to distinguish different scenarios from 1 errno value.
> >
> >* src/util/bridge.c: Raise errors instead of returning errnos
> >* src/lxc/lxc_driver.c, src/network/bridge_driver.c,
> > src/qemu/qemu_command.c, src/uml/uml_conf.c,
> > src/uml/uml_driver.c: Remove error reporting code
> >---
> > po/POTFILES.in | 1 +
> > src/lxc/lxc_driver.c | 7 +-
> > src/network/bridge_driver.c | 78 +++-----------
> > src/qemu/qemu_command.c | 23 +----
> > src/uml/uml_conf.c | 28 +-----
> > src/uml/uml_driver.c | 14 +--
> > src/util/bridge.c | 262 +++++++++++++++++++++++++++++--------------
> > 7 files changed, 196 insertions(+), 217 deletions(-)
> >
> >@@ -188,6 +217,8 @@ cleanup:
> > int
> > brDeleteBridge(const char *brname ATTRIBUTE_UNUSED)
> > {
> >+ virReportSystemError(errno,
> >+ _("Unable to delete bridge %s"), brname);
>
> errno -> ENOSYS
Fixed this and a few others, and the places where they
reoccur in later patches.
> >@@ -211,15 +242,17 @@ brAddInterface(const char *brname,
> > struct ifreq ifr;
> >
> > if ((fd = brSetupControl(brname,&ifr))< 0)
> >- return errno;
> >+ return -1;
> >
> > if (!(ifr.ifr_ifindex = if_nametoindex(ifname))) {
> >- ret = errno;
> >+ virReportSystemError(errno,
> >+ _("Unable to get interface index for %s"), ifname);
> I don't see an errno being defined for if_nametoindex in case of
> failure. Use ENODEV ?
Yeah I see it just returns 0, so I used ENODEV
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list