[libvirt] [PATCH] bhyve: don't fail on busy tap devices
Ján Tomko
jtomko at redhat.com
Tue Mar 25 13:49:31 UTC 2014
On 03/23/2014 11:28 AM, Roman Bogorodskiy wrote:
> We use virBhyveTapGetRealDeviceName() to map network interface name
> to a real device path, trying to open possible devices and getting
> names by ioctl.
>
> Make it skip devices that fail to open with EBUSY because they're
> most likely already used by other VMs.
> ---
> src/bhyve/bhyve_command.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c
> index 6d64c27..e569aab 100644
> --- a/src/bhyve/bhyve_command.c
> +++ b/src/bhyve/bhyve_command.c
> @@ -69,6 +69,8 @@ virBhyveTapGetRealDeviceName(char *name)
> goto cleanup;
> }
> if ((fd = open(devpath, O_RDWR)) < 0) {
> + if (errno == EBUSY)
> + continue;
> virReportSystemError(errno, _("Unable to open '%s'"), devpath);
> goto cleanup;
> }
>
This would leak devpath.
ACK with VIR_FREE(devpath) added either before 'continue', or the virAsprintf
allocating it.
Jan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140325/8ceea687/attachment-0001.sig>
More information about the libvir-list
mailing list