qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 12/15] tap-bsd: Convert tap_open() to Error


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH 12/15] tap-bsd: Convert tap_open() to Error
Date: Thu, 14 May 2015 15:55:58 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

On 05/12/2015 06:03 AM, Markus Armbruster wrote:
> Fixes inappropriate use of stderr in monitor command handler.
> 
> While there, improve some of the messages a bit.
> 
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
>  net/tap-bsd.c | 33 ++++++++++++++-------------------
>  1 file changed, 14 insertions(+), 19 deletions(-)
> 

> @@ -139,14 +133,15 @@ int tap_open(char *ifname, int ifname_size, int 
> *vnet_hdr,
>          /* User requested the interface to have a specific name */
>          s = socket(AF_LOCAL, SOCK_DGRAM, 0);
>          if (s < 0) {
> -            error_report("could not open socket to set interface name");
> +            error_setg_errno(errp, errno,
> +                             "could not open socket to set interface name");
>              goto error;
>          }
>          ifr.ifr_data = ifname;
>          ret = ioctl(s, SIOCSIFNAME, (void *)&ifr);
>          close(s);
>          if (ret < 0) {
> -            error_report("could not set tap interface name");
> +            error_setg_errno(errp, errno, "could not set tap interface 
> name");

Bad. close() may have clobbered errno before you get to report it.

>              goto error;
>          }
>      } else {
> @@ -158,14 +153,14 @@ int tap_open(char *ifname, int ifname_size, int 
> *vnet_hdr,
>          *vnet_hdr = 0;
>  
>          if (vnet_hdr_required && !*vnet_hdr) {
> -            error_report("vnet_hdr=1 requested, but no kernel "
> -                         "support for IFF_VNET_HDR available");
> +            error_setg(errp, "vnet_hdr=1 requested, but no kernel "
> +                       "support for IFF_VNET_HDR available");
>              goto error;
>          }
>      }
>      if (mq_required) {
> -        error_report("mq_required requested, but not kernel support"
> -                     "for IFF_MULTI_QUEUE available");
> +        error_setg(errp, "mq_required requested, but not kernel support"

As long as you are touching this, s/not/no/

> +                   "for IFF_MULTI_QUEUE available");
>          goto error;
>      }
>  
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]