Page MenuHomeFreeBSD

D48797.diff
No OneTemporary

D48797.diff

diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c
--- a/lib/libvmmapi/vmmapi.c
+++ b/lib/libvmmapi/vmmapi.c
@@ -90,6 +90,14 @@
return (open(devpath, O_RDWR));
}
+static int
+vm_ctl_open(void)
+{
+ if (modfind("vmm") < 0)
+ (void)kldload("vmm");
+ return (open("/dev/vmmctl", O_RDWR, 0));
+}
+
static int
vm_ctl_create(const char *name, int ctlfd)
{
@@ -108,16 +116,10 @@
{
int error, fd;
- /* Try to load vmm(4) module before creating a guest. */
- if (modfind("vmm") < 0) {
- error = kldload("vmm");
- if (error != 0)
- return (-1);
- }
-
- fd = open("/dev/vmmctl", O_RDWR, 0);
+ fd = vm_device_open(name);
if (fd < 0)
- return (fd);
+ return (-1);
+
error = vm_ctl_create(name, fd);
if (error != 0) {
error = errno;
@@ -153,7 +155,7 @@
strcpy(vm->name, name);
memset(vm->memsegs, 0, sizeof(vm->memsegs));
- if ((vm->ctlfd = open("/dev/vmmctl", O_RDWR, 0)) < 0)
+ if ((vm->ctlfd = vm_ctl_open()) < 0)
goto err;
vm->fd = vm_device_open(vm->name);

File Metadata

Mime Type
text/plain
Expires
Tue, Feb 4, 6:56 AM (20 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16443065
Default Alt Text
D48797.diff (1001 B)

Event Timeline