From 425eeed8c4f3d5566be52ccb481d9557bcb019fa Mon Sep 17 00:00:00 2001 From: Roman Bogorodskiy Date: Sun, 23 Mar 2014 13:44:41 +0400 Subject: [PATCH] bhyve: don't fail on busy tap devices 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 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c index a15d345a58..42b71fbc46 100644 --- a/src/bhyve/bhyve_command.c +++ b/src/bhyve/bhyve_command.c @@ -69,6 +69,10 @@ virBhyveTapGetRealDeviceName(char *name) goto cleanup; } if ((fd = open(devpath, O_RDWR)) < 0) { + if (errno == EBUSY) { + VIR_FREE(devpath); + continue; + } virReportSystemError(errno, _("Unable to open '%s'"), devpath); goto cleanup; } -- GitLab