[libvirt] [PATCH v1 13/37] Adapt to VIR_ALLOC and virAsprintf in src/lxc/*

Michal Privoznik mprivozn at redhat.com
Thu Jul 4 12:06:36 UTC 2013


---
 src/lxc/lxc_cgroup.c     |  4 +--
 src/lxc/lxc_conf.c       |  5 +--
 src/lxc/lxc_container.c  | 77 ++++++++++------------------------------
 src/lxc/lxc_controller.c | 50 +++++++-------------------
 src/lxc/lxc_driver.c     | 92 ++++++++++++------------------------------------
 src/lxc/lxc_fuse.c       | 12 ++-----
 src/lxc/lxc_monitor.c    |  4 +--
 src/lxc/lxc_process.c    | 28 ++++-----------
 8 files changed, 67 insertions(+), 205 deletions(-)

diff --git a/src/lxc/lxc_cgroup.c b/src/lxc/lxc_cgroup.c
index 4443b83..f3030b1 100644
--- a/src/lxc/lxc_cgroup.c
+++ b/src/lxc/lxc_cgroup.c
@@ -547,10 +547,8 @@ virCgroupPtr virLXCCgroupCreate(virDomainDefPtr def, bool startup)
     if (!def->resource && startup) {
         virDomainResourceDefPtr res;
 
-        if (VIR_ALLOC(res) < 0) {
-            virReportOOMError();
+        if (VIR_ALLOC(res) < 0)
             goto cleanup;
-        }
 
         if (VIR_STRDUP(res->partition, "/machine") < 0) {
             VIR_FREE(res);
diff --git a/src/lxc/lxc_conf.c b/src/lxc/lxc_conf.c
index 81a4a33..4e859c5 100644
--- a/src/lxc/lxc_conf.c
+++ b/src/lxc/lxc_conf.c
@@ -117,7 +117,7 @@ virCapsPtr lxcCapsInit(virLXCDriverPtr driver)
         if (STRNEQ(model, "none")) {
             /* Allocate just the primary security driver for LXC. */
             if (VIR_ALLOC(caps->host.secModels) < 0)
-                goto no_memory;
+                goto error;
             caps->host.nsecModels = 1;
             if (VIR_STRDUP(caps->host.secModels[0].model, model) < 0)
                 goto error;
@@ -133,9 +133,6 @@ virCapsPtr lxcCapsInit(virLXCDriverPtr driver)
 
     return caps;
 
-no_memory:
-    virReportOOMError();
-
 error:
     virObjectUnref(caps);
     return NULL;
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index c8420db..6f3792a 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -158,10 +158,8 @@ int lxcContainerHasReboot(void)
     VIR_FREE(buf);
     cmd = v ? LINUX_REBOOT_CMD_CAD_ON : LINUX_REBOOT_CMD_CAD_OFF;
 
-    if (VIR_ALLOC_N(stack, getpagesize() * 4) < 0) {
-        virReportOOMError();
+    if (VIR_ALLOC_N(stack, getpagesize() * 4) < 0)
         return -1;
-    }
 
     childStack = stack + (getpagesize() * 4);
 
@@ -383,7 +381,6 @@ static int lxcContainerRenameAndEnableInterfaces(bool privNet,
 
     for (i = 0; i < nveths; i++) {
         if (virAsprintf(&newname, "eth%zu", i) < 0) {
-            virReportOOMError();
             rc = -1;
             goto error_out;
         }
@@ -467,10 +464,8 @@ static int lxcContainerGetSubtree(const char *prefix,
         if (!STRPREFIX(mntent.mnt_dir, prefix))
             continue;
 
-        if (VIR_REALLOC_N(mounts, nmounts+1) < 0) {
-            virReportOOMError();
+        if (VIR_REALLOC_N(mounts, nmounts+1) < 0)
             goto cleanup;
-        }
         if (VIR_STRDUP(mounts[nmounts], mntent.mnt_dir) < 0)
             goto cleanup;
         nmounts++;
@@ -568,10 +563,8 @@ static int lxcContainerPrepareRoot(virDomainDefPtr def,
     }
 
     if (virAsprintf(&dst, "%s/%s.root",
-                    LXC_STATE_DIR, def->name) < 0) {
-        virReportOOMError();
+                    LXC_STATE_DIR, def->name) < 0)
         return -1;
-    }
 
     tmp = root->dst;
     root->dst = dst;
@@ -606,10 +599,8 @@ static int lxcContainerPivotRoot(virDomainFSDefPtr root)
         goto err;
     }
 
-    if (virAsprintf(&oldroot, "%s/.oldroot", root->src) < 0) {
-        virReportOOMError();
+    if (virAsprintf(&oldroot, "%s/.oldroot", root->src) < 0)
         goto err;
-    }
 
     if (virFileMakePath(oldroot) < 0) {
         virReportSystemError(errno,
@@ -628,10 +619,8 @@ static int lxcContainerPivotRoot(virDomainFSDefPtr root)
     }
 
     /* Create a directory called 'new' in tmpfs */
-    if (virAsprintf(&newroot, "%s/new", oldroot) < 0) {
-        virReportOOMError();
+    if (virAsprintf(&newroot, "%s/new", oldroot) < 0)
         goto err;
-    }
 
     if (virFileMakePath(newroot) < 0) {
         virReportSystemError(errno,
@@ -893,10 +882,8 @@ static int lxcContainerSetupDevices(char **ttyPaths, size_t nttyPaths)
 
     for (i = 0; i < nttyPaths; i++) {
         char *tty;
-        if (virAsprintf(&tty, "/dev/tty%zu", i+1) < 0) {
-            virReportOOMError();
+        if (virAsprintf(&tty, "/dev/tty%zu", i+1) < 0)
             return -1;
-        }
         if (symlink(ttyPaths[i], tty) < 0) {
             VIR_FREE(tty);
             virReportSystemError(errno,
@@ -924,10 +911,8 @@ static int lxcContainerMountFSBind(virDomainFSDefPtr fs,
     int ret = -1;
     struct stat st;
 
-    if (virAsprintf(&src, "%s%s", srcprefix, fs->src) < 0) {
-        virReportOOMError();
+    if (virAsprintf(&src, "%s%s", srcprefix, fs->src) < 0)
         goto cleanup;
-    }
 
     if (stat(fs->dst, &st) < 0) {
         if (errno != ENOENT) {
@@ -1097,10 +1082,8 @@ static int lxcContainerMountFSBlockAuto(virDomainFSDefPtr fs,
     /* First time around we use /etc/filesystems */
 retry:
     if (virAsprintf(&fslist, "/.oldroot%s",
-                    tryProc ? "/proc/filesystems" : "/etc/filesystems") < 0) {
-        virReportOOMError();
+                    tryProc ? "/proc/filesystems" : "/etc/filesystems") < 0)
         goto cleanup;
-    }
 
     VIR_DEBUG("Open fslist %s", fslist);
     if (!(fp = fopen(fslist, "r"))) {
@@ -1254,10 +1237,8 @@ static int lxcContainerMountFSBlock(virDomainFSDefPtr fs,
     char *src = NULL;
     int ret = -1;
 
-    if (virAsprintf(&src, "%s%s", srcprefix, fs->src) < 0) {
-        virReportOOMError();
+    if (virAsprintf(&src, "%s%s", srcprefix, fs->src) < 0)
         goto cleanup;
-    }
 
     ret = lxcContainerMountFSBlockHelper(fs, src);
 
@@ -1276,10 +1257,8 @@ static int lxcContainerMountFSTmpfs(virDomainFSDefPtr fs,
     char *data = NULL;
 
     if (virAsprintf(&data,
-                    "size=%lldk%s", fs->usage, sec_mount_options) < 0) {
-        virReportOOMError();
+                    "size=%lldk%s", fs->usage, sec_mount_options) < 0)
         goto cleanup;
-    }
 
     if (virFileMakePath(fs->dst) < 0) {
         virReportSystemError(errno,
@@ -1396,15 +1375,11 @@ static int lxcContainerSetupDisk(virDomainDefPtr vmDef,
         goto cleanup;
     }
 
-    if (virAsprintf(&src, "/.oldroot/%s", def->src) < 0) {
-        virReportOOMError();
+    if (virAsprintf(&src, "/.oldroot/%s", def->src) < 0)
         goto cleanup;
-    }
 
-    if (virAsprintf(&dst, "/dev/%s", def->dst) < 0) {
-        virReportOOMError();
+    if (virAsprintf(&dst, "/dev/%s", def->dst) < 0)
         goto cleanup;
-    }
 
     if (stat(src, &sb) < 0) {
         virReportSystemError(errno,
@@ -1484,22 +1459,16 @@ static int lxcContainerSetupHostdevSubsysUSB(virDomainDefPtr vmDef ATTRIBUTE_UNU
     mode_t mode;
 
     if (virAsprintf(&dstdir, USB_DEVFS "/%03d",
-                    def->source.subsys.u.usb.bus) < 0) {
-        virReportOOMError();
+                    def->source.subsys.u.usb.bus) < 0)
         goto cleanup;
-    }
 
     if (virAsprintf(&dstfile, "%s/%03d",
                     dstdir,
-                    def->source.subsys.u.usb.device) < 0) {
-        virReportOOMError();
+                    def->source.subsys.u.usb.device) < 0)
         goto cleanup;
-    }
 
-    if (virAsprintf(&src, "/.oldroot/%s", dstfile) < 0) {
-        virReportOOMError();
+    if (virAsprintf(&src, "/.oldroot/%s", dstfile) < 0)
         goto cleanup;
-    }
 
     if (stat(src, &sb) < 0) {
         virReportSystemError(errno,
@@ -1559,10 +1528,8 @@ static int lxcContainerSetupHostdevCapsStorage(virDomainDefPtr vmDef ATTRIBUTE_U
         goto cleanup;
     }
 
-    if (virAsprintf(&src, "/.oldroot/%s", def->source.caps.u.storage.block) < 0) {
-        virReportOOMError();
+    if (virAsprintf(&src, "/.oldroot/%s", def->source.caps.u.storage.block) < 0)
         goto cleanup;
-    }
 
     if (stat(src, &sb) < 0) {
         virReportSystemError(errno,
@@ -1616,10 +1583,8 @@ static int lxcContainerSetupHostdevCapsMisc(virDomainDefPtr vmDef ATTRIBUTE_UNUS
         goto cleanup;
     }
 
-    if (virAsprintf(&src, "/.oldroot/%s", def->source.caps.u.misc.chardev) < 0) {
-        virReportOOMError();
+    if (virAsprintf(&src, "/.oldroot/%s", def->source.caps.u.misc.chardev) < 0)
         goto cleanup;
-    }
 
     if (stat(src, &sb) < 0) {
         virReportSystemError(errno,
@@ -1962,10 +1927,8 @@ static int lxcContainerChild(void *data)
         if (STRPREFIX(tty, "/dev/pts/"))
             tty += strlen("/dev/pts/");
         if (virAsprintf(&ttyPath, "%s/%s.devpts/%s",
-                        LXC_STATE_DIR, vmDef->name, tty) < 0) {
-            virReportOOMError();
+                        LXC_STATE_DIR, vmDef->name, tty) < 0)
             goto cleanup;
-        }
     } else if (VIR_STRDUP(ttyPath, "/dev/null") < 0) {
             goto cleanup;
     }
@@ -2116,10 +2079,8 @@ int lxcContainerStart(virDomainDefPtr def,
                               ttyPaths, nttyPaths, handshakefd};
 
     /* allocate a stack for the container */
-    if (VIR_ALLOC_N(stack, stacksize) < 0) {
-        virReportOOMError();
+    if (VIR_ALLOC_N(stack, stacksize) < 0)
         return -1;
-    }
     stacktop = stack + stacksize;
 
     cflags = CLONE_NEWPID|CLONE_NEWNS|CLONE_NEWUTS|CLONE_NEWIPC|SIGCHLD;
diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c
index 88601f1..a927176 100644
--- a/src/lxc/lxc_controller.c
+++ b/src/lxc/lxc_controller.c
@@ -150,10 +150,8 @@ static virLXCControllerPtr virLXCControllerNew(const char *name)
     virDomainXMLOptionPtr xmlopt = NULL;
     char *configFile = NULL;
 
-    if (VIR_ALLOC(ctrl) < 0) {
-        virReportOOMError();
+    if (VIR_ALLOC(ctrl) < 0)
         goto error;
-    }
 
     ctrl->timerShutdown = -1;
     ctrl->firstClient = true;
@@ -279,10 +277,8 @@ static void virLXCControllerFree(virLXCControllerPtr ctrl)
 static int virLXCControllerAddConsole(virLXCControllerPtr ctrl,
                                       int hostFd)
 {
-    if (VIR_EXPAND_N(ctrl->consoles, ctrl->nconsoles, 1) < 0) {
-        virReportOOMError();
+    if (VIR_EXPAND_N(ctrl->consoles, ctrl->nconsoles, 1) < 0)
         return -1;
-    }
     ctrl->consoles[ctrl->nconsoles-1].server = ctrl->server;
     ctrl->consoles[ctrl->nconsoles-1].hostFd = hostFd;
     ctrl->consoles[ctrl->nconsoles-1].hostWatch = -1;
@@ -473,7 +469,6 @@ static int virLXCControllerSetupLoopDevices(virLXCControllerPtr ctrl)
             VIR_DEBUG("Saving loop fd %d", fd);
             if (VIR_EXPAND_N(ctrl->loopDevFds, ctrl->nloopDevs, 1) < 0) {
                 VIR_FORCE_CLOSE(fd);
-                virReportOOMError();
                 goto cleanup;
             }
             ctrl->loopDevFds[ctrl->nloopDevs - 1] = fd;
@@ -521,7 +516,6 @@ static int virLXCControllerSetupLoopDevices(virLXCControllerPtr ctrl)
             VIR_DEBUG("Saving loop fd %d", fd);
             if (VIR_EXPAND_N(ctrl->loopDevFds, ctrl->nloopDevs, 1) < 0) {
                 VIR_FORCE_CLOSE(fd);
-                virReportOOMError();
                 goto cleanup;
             }
             ctrl->loopDevFds[ctrl->nloopDevs - 1] = fd;
@@ -707,10 +701,8 @@ static int virLXCControllerSetupServer(virLXCControllerPtr ctrl)
     char *sockpath;
 
     if (virAsprintf(&sockpath, "%s/%s.sock",
-                    LXC_STATE_DIR, ctrl->name) < 0) {
-        virReportOOMError();
+                    LXC_STATE_DIR, ctrl->name) < 0)
         return -1;
-    }
 
     if (!(ctrl->server = virNetServerNew(0, 0, 0, 1,
                                          -1, 0, false,
@@ -1228,10 +1220,8 @@ static int virLXCControllerSetupDev(virLXCControllerPtr ctrl)
                                                       ctrl->def);
 
     if (virAsprintf(&dev, "/%s/%s.dev",
-                    LXC_STATE_DIR, ctrl->def->name) < 0) {
-        virReportOOMError();
+                    LXC_STATE_DIR, ctrl->def->name) < 0)
         goto cleanup;
-    }
 
     if (virFileMakePath(dev) < 0) {
         virReportSystemError(errno,
@@ -1245,10 +1235,8 @@ static int virLXCControllerSetupDev(virLXCControllerPtr ctrl)
      */
 
     if (virAsprintf(&opts,
-                    "mode=755,size=65536%s", mount_options) < 0) {
-        virReportOOMError();
+                    "mode=755,size=65536%s", mount_options) < 0)
         goto cleanup;
-    }
 
     VIR_DEBUG("Mount devfs on %s type=tmpfs flags=%x, opts=%s",
               dev, MS_NOSUID, opts);
@@ -1294,10 +1282,8 @@ static int virLXCControllerPopulateDevices(virLXCControllerPtr ctrl)
     /* Populate /dev/ with a few important bits */
     for (i = 0; i < ARRAY_CARDINALITY(devs); i++) {
         if (virAsprintf(&path, "/%s/%s.dev/%s",
-                        LXC_STATE_DIR, ctrl->def->name, devs[i].path) < 0) {
-            virReportOOMError();
+                        LXC_STATE_DIR, ctrl->def->name, devs[i].path) < 0)
             goto cleanup;
-        }
 
         dev_t dev = makedev(devs[i].maj, devs[i].min);
         if (mknod(path, S_IFCHR, dev) < 0 ||
@@ -1437,11 +1423,9 @@ lxcCreateTty(virLXCControllerPtr ctrl, int *ttymaster,
      * anything other than 0, but let's play it safe.  */
     if ((virAsprintf(ttyName, "/dev/pts/%d", ptyno) < 0) ||
         (virAsprintf(ttyHostPath, "/%s/%s.devpts/%d", LXC_STATE_DIR,
-                    ctrl->def->name, ptyno) < 0)) {
-        virReportOOMError();
+                    ctrl->def->name, ptyno) < 0))
         errno = ENOMEM;
         goto cleanup;
-    }
 
     ret = 0;
 
@@ -1515,10 +1499,8 @@ virLXCControllerSetupDevPTS(virLXCControllerPtr ctrl)
     if (virAsprintf(&devpts, "%s/%s.devpts",
                     LXC_STATE_DIR, ctrl->def->name) < 0 ||
         virAsprintf(&ctrl->devptmx, "%s/%s.devpts/ptmx",
-                    LXC_STATE_DIR, ctrl->def->name) < 0) {
-        virReportOOMError();
+                    LXC_STATE_DIR, ctrl->def->name) < 0)
         goto cleanup;
-    }
 
     if (virFileMakePath(devpts) < 0) {
         virReportSystemError(errno,
@@ -1530,10 +1512,8 @@ virLXCControllerSetupDevPTS(virLXCControllerPtr ctrl)
     /* XXX should we support gid=X for X!=5 for distros which use
      * a different gid for tty?  */
     if (virAsprintf(&opts, "newinstance,ptmxmode=0666,mode=0620,gid=5%s",
-                    (mount_options ? mount_options : "")) < 0) {
-        virReportOOMError();
+                    (mount_options ? mount_options : "")) < 0)
         goto cleanup;
-    }
 
     VIR_DEBUG("Mount devpts on %s type=tmpfs flags=%x, opts=%s",
               devpts, MS_NOSUID, opts);
@@ -1708,10 +1688,8 @@ virLXCControllerRun(virLXCControllerPtr ctrl)
     size_t i;
     virCgroupPtr cgroup = NULL;
 
-    if (VIR_ALLOC_N(containerTTYPaths, ctrl->nconsoles) < 0) {
-        virReportOOMError();
+    if (VIR_ALLOC_N(containerTTYPaths, ctrl->nconsoles) < 0)
         goto cleanup;
-    }
 
     if (socketpair(PF_UNIX, SOCK_STREAM, 0, control) < 0) {
         virReportSystemError(errno, "%s",
@@ -1871,19 +1849,15 @@ int main(int argc, char *argv[])
             break;
 
         case 'v':
-            if (VIR_REALLOC_N(veths, nveths+1) < 0) {
-                virReportOOMError();
+            if (VIR_REALLOC_N(veths, nveths+1) < 0)
                 goto cleanup;
-            }
             if (VIR_STRDUP(veths[nveths++], optarg) < 0)
                 goto cleanup;
             break;
 
         case 'c':
-            if (VIR_REALLOC_N(ttyFDs, nttyFDs + 1) < 0) {
-                virReportOOMError();
+            if (VIR_REALLOC_N(ttyFDs, nttyFDs + 1) < 0)
                 goto cleanup;
-            }
             if (virStrToLong_i(optarg, NULL, 10, &ttyFDs[nttyFDs++]) < 0) {
                 fprintf(stderr, "malformed --console argument '%s'", optarg);
                 goto cleanup;
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index 1a6d086..aaf25b6 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -2885,10 +2885,8 @@ lxcDomainShutdownFlags(virDomainPtr dom,
     }
 
     if (virAsprintf(&vroot, "/proc/%llu/root",
-                    (unsigned long long)priv->initpid) < 0) {
-        virReportOOMError();
+                    (unsigned long long)priv->initpid) < 0)
         goto cleanup;
-    }
 
     if (flags == 0 ||
         (flags & VIR_DOMAIN_SHUTDOWN_INITCTL)) {
@@ -2977,10 +2975,8 @@ lxcDomainReboot(virDomainPtr dom,
     }
 
     if (virAsprintf(&vroot, "/proc/%llu/root",
-                    (unsigned long long)priv->initpid) < 0) {
-        virReportOOMError();
+                    (unsigned long long)priv->initpid) < 0)
         goto cleanup;
-    }
 
     if (flags == 0 ||
         (flags & VIR_DOMAIN_REBOOT_INITCTL)) {
@@ -3037,10 +3033,8 @@ lxcDomainAttachDeviceConfig(virDomainDefPtr vmdef,
                            _("target %s already exists."), disk->dst);
             return -1;
         }
-        if (virDomainDiskInsert(vmdef, disk)) {
-            virReportOOMError();
+        if (virDomainDiskInsert(vmdef, disk))
             return -1;
-        }
         /* vmdef has the pointer. Generic codes for vmdef will do all jobs */
         dev->data.disk = NULL;
         ret = 0;
@@ -3048,10 +3042,8 @@ lxcDomainAttachDeviceConfig(virDomainDefPtr vmdef,
 
     case VIR_DOMAIN_DEVICE_NET:
         net = dev->data.net;
-        if (virDomainNetInsert(vmdef, net) < 0) {
-            virReportOOMError();
+        if (virDomainNetInsert(vmdef, net) < 0)
             goto cleanup;
-        }
         dev->data.net = NULL;
         ret = 0;
         break;
@@ -3063,10 +3055,8 @@ lxcDomainAttachDeviceConfig(virDomainDefPtr vmdef,
                            _("device is already in the domain configuration"));
             return -1;
         }
-        if (virDomainHostdevInsert(vmdef, hostdev) < 0) {
-            virReportOOMError();
+        if (virDomainHostdevInsert(vmdef, hostdev) < 0)
             return -1;
-        }
         dev->data.hostdev = NULL;
         ret = 0;
         break;
@@ -3241,15 +3231,11 @@ lxcDomainAttachDeviceDiskLive(virLXCDriverPtr driver,
     }
 
     if (virAsprintf(&dst, "/proc/%llu/root/dev/%s",
-                    (unsigned long long)priv->initpid, def->dst) < 0) {
-        virReportOOMError();
+                    (unsigned long long)priv->initpid, def->dst) < 0)
         goto cleanup;
-    }
 
-    if (VIR_REALLOC_N(vm->def->disks, vm->def->ndisks+1) < 0) {
-        virReportOOMError();
+    if (VIR_REALLOC_N(vm->def->disks, vm->def->ndisks+1) < 0)
         goto cleanup;
-    }
 
     mode = 0700;
     if (S_ISCHR(sb.st_mode))
@@ -3329,10 +3315,8 @@ lxcDomainAttachDeviceNetLive(virConnectPtr conn,
     }
 
     /* preallocate new slot for device */
-    if (VIR_REALLOC_N(vm->def->nets, vm->def->nnets+1) < 0) {
-        virReportOOMError();
+    if (VIR_REALLOC_N(vm->def->nets, vm->def->nnets+1) < 0)
         return -1;
-    }
 
     /* If appropriate, grab a physical device from the configured
      * network's pool of devices, or resolve bridge device name
@@ -3466,31 +3450,23 @@ lxcDomainAttachDeviceHostdevSubsysUSBLive(virLXCDriverPtr driver,
     }
 
     if (virAsprintf(&vroot, "/proc/%llu/root",
-                    (unsigned long long)priv->initpid) < 0) {
-        virReportOOMError();
+                    (unsigned long long)priv->initpid) < 0)
         goto cleanup;
-    }
 
     if (virAsprintf(&dstdir, "%s/dev/bus/%03d",
                     vroot,
-                    def->source.subsys.u.usb.bus) < 0) {
-        virReportOOMError();
+                    def->source.subsys.u.usb.bus) < 0)
         goto cleanup;
-    }
 
     if (virAsprintf(&dstfile, "%s/%03d",
                     dstdir,
-                    def->source.subsys.u.usb.device) < 0) {
-        virReportOOMError();
+                    def->source.subsys.u.usb.device) < 0)
         goto cleanup;
-    }
 
     if (virAsprintf(&src, "/dev/bus/usb/%03d/%03d",
                     def->source.subsys.u.usb.bus,
-                    def->source.subsys.u.usb.device) < 0) {
-        virReportOOMError();
+                    def->source.subsys.u.usb.device) < 0)
         goto cleanup;
-    }
 
     if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_DEVICES)) {
         virReportError(VIR_ERR_OPERATION_INVALID, "%s",
@@ -3599,22 +3575,16 @@ lxcDomainAttachDeviceHostdevStorageLive(virLXCDriverPtr driver,
     }
 
     if (virAsprintf(&vroot, "/proc/%llu/root",
-                    (unsigned long long)priv->initpid) < 0) {
-        virReportOOMError();
+                    (unsigned long long)priv->initpid) < 0)
         goto cleanup;
-    }
 
     if (virAsprintf(&dst, "%s/%s",
                     vroot,
-                    def->source.caps.u.storage.block) < 0) {
-        virReportOOMError();
+                    def->source.caps.u.storage.block) < 0)
         goto cleanup;
-    }
 
-    if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs+1) < 0) {
-        virReportOOMError();
+    if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs+1) < 0)
         goto cleanup;
-    }
 
     mode = 0700 | S_IFBLK;
 
@@ -3703,22 +3673,16 @@ lxcDomainAttachDeviceHostdevMiscLive(virLXCDriverPtr driver,
     }
 
     if (virAsprintf(&vroot, "/proc/%llu/root",
-                    (unsigned long long)priv->initpid) < 0) {
-        virReportOOMError();
+                    (unsigned long long)priv->initpid) < 0)
         goto cleanup;
-    }
 
     if (virAsprintf(&dst, "%s/%s",
                     vroot,
-                    def->source.caps.u.misc.chardev) < 0) {
-        virReportOOMError();
+                    def->source.caps.u.misc.chardev) < 0)
         goto cleanup;
-    }
 
-    if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs+1) < 0) {
-        virReportOOMError();
+    if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs+1) < 0)
         goto cleanup;
-    }
 
     mode = 0700 | S_IFCHR;
 
@@ -3899,10 +3863,8 @@ lxcDomainDetachDeviceDiskLive(virDomainObjPtr vm,
     def = vm->def->disks[i];
 
     if (virAsprintf(&dst, "/proc/%llu/root/dev/%s",
-                    (unsigned long long)priv->initpid, def->dst) < 0) {
-        virReportOOMError();
+                    (unsigned long long)priv->initpid, def->dst) < 0)
         goto cleanup;
-    }
 
     if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_DEVICES)) {
         virReportError(VIR_ERR_OPERATION_INVALID, "%s",
@@ -4021,18 +3983,14 @@ lxcDomainDetachDeviceHostdevUSBLive(virLXCDriverPtr driver,
     }
 
     if (virAsprintf(&vroot, "/proc/%llu/root",
-                    (unsigned long long)priv->initpid) < 0) {
-        virReportOOMError();
+                    (unsigned long long)priv->initpid) < 0)
         goto cleanup;
-    }
 
     if (virAsprintf(&dst, "%s/dev/bus/usb/%03d/%03d",
                     vroot,
                     def->source.subsys.u.usb.bus,
-                    def->source.subsys.u.usb.device) < 0) {
-        virReportOOMError();
+                    def->source.subsys.u.usb.device) < 0)
         goto cleanup;
-    }
 
     if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_DEVICES)) {
         virReportError(VIR_ERR_OPERATION_INVALID, "%s",
@@ -4099,10 +4057,8 @@ lxcDomainDetachDeviceHostdevStorageLive(virDomainObjPtr vm,
 
     if (virAsprintf(&dst, "/proc/%llu/root/%s",
                     (unsigned long long)priv->initpid,
-                    def->source.caps.u.storage.block) < 0) {
-        virReportOOMError();
+                    def->source.caps.u.storage.block) < 0)
         goto cleanup;
-    }
 
     if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_DEVICES)) {
         virReportError(VIR_ERR_OPERATION_INVALID, "%s",
@@ -4160,10 +4116,8 @@ lxcDomainDetachDeviceHostdevMiscLive(virDomainObjPtr vm,
 
     if (virAsprintf(&dst, "/proc/%llu/root/%s",
                     (unsigned long long)priv->initpid,
-                    def->source.caps.u.misc.chardev) < 0) {
-        virReportOOMError();
+                    def->source.caps.u.misc.chardev) < 0)
         goto cleanup;
-    }
 
     if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_DEVICES)) {
         virReportError(VIR_ERR_OPERATION_INVALID, "%s",
diff --git a/src/lxc/lxc_fuse.c b/src/lxc/lxc_fuse.c
index b98a0d9..ea4ab7a 100644
--- a/src/lxc/lxc_fuse.c
+++ b/src/lxc/lxc_fuse.c
@@ -52,10 +52,8 @@ static int lxcProcGetattr(const char *path, struct stat *stbuf)
     virDomainDefPtr def = (virDomainDefPtr)context->private_data;
 
     memset(stbuf, 0, sizeof(struct stat));
-    if (virAsprintf(&mempath, "/proc/%s", path) < 0) {
-        virReportOOMError();
+    if (virAsprintf(&mempath, "/proc/%s", path) < 0)
         return -errno;
-    }
 
     res = 0;
 
@@ -238,10 +236,8 @@ static int lxcProcRead(const char *path ATTRIBUTE_UNUSED,
     struct fuse_context *context = NULL;
     virDomainDefPtr def = NULL;
 
-    if (virAsprintf(&hostpath, "/proc/%s", path) < 0) {
-        virReportOOMError();
+    if (virAsprintf(&hostpath, "/proc/%s", path) < 0)
         return -errno;
-    }
 
     context = fuse_get_context();
     def = (virDomainDefPtr)context->private_data;
@@ -297,10 +293,8 @@ int lxcSetupFuse(virLXCFusePtr *f, virDomainDefPtr def)
         goto cleanup2;
 
     if (virAsprintf(&fuse->mountpoint, "%s/%s.fuse/", LXC_STATE_DIR,
-                    def->name) < 0) {
-        virReportOOMError();
+                    def->name) < 0)
         goto cleanup1;
-    }
 
     if (virFileMakePath(fuse->mountpoint) < 0) {
         virReportSystemError(errno, _("Cannot create %s"),
diff --git a/src/lxc/lxc_monitor.c b/src/lxc/lxc_monitor.c
index a205d69..999039b 100644
--- a/src/lxc/lxc_monitor.c
+++ b/src/lxc/lxc_monitor.c
@@ -155,7 +155,7 @@ virLXCMonitorPtr virLXCMonitorNew(virDomainObjPtr vm,
 
     if (virAsprintf(&sockpath, "%s/%s.sock",
                     socketdir, vm->def->name) < 0)
-        goto no_memory;
+        goto error;
 
     if (!(mon->client = virNetClientNewUNIX(sockpath, false, NULL)))
         goto error;
@@ -185,8 +185,6 @@ cleanup:
     VIR_FREE(sockpath);
     return mon;
 
-no_memory:
-    virReportOOMError();
 error:
     virObjectUnref(mon);
     mon = NULL;
diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
index 01e35c4..6d6a109 100644
--- a/src/lxc/lxc_process.c
+++ b/src/lxc/lxc_process.c
@@ -442,10 +442,8 @@ static int virLXCProcessSetupInterfaces(virConnectPtr conn,
         if (networkAllocateActualDevice(def->nets[i]) < 0)
             goto cleanup;
 
-        if (VIR_EXPAND_N(*veths, *nveths, 1) < 0) {
-            virReportOOMError();
+        if (VIR_EXPAND_N(*veths, *nveths, 1) < 0)
             goto cleanup;
-        }
 
         switch (virDomainNetGetActualType(def->nets[i])) {
         case VIR_DOMAIN_NET_TYPE_NETWORK: {
@@ -648,10 +646,8 @@ virLXCProcessGetNsInode(pid_t pid,
     int ret = -1;
 
     if (virAsprintf(&path, "/proc/%llu/ns/%s",
-                    (unsigned long long)pid, nsname) < 0) {
-        virReportOOMError();
+                    (unsigned long long)pid, nsname) < 0)
         goto cleanup;
-    }
 
     if (stat(path, &sb) < 0) {
         virReportSystemError(errno,
@@ -992,7 +988,7 @@ virLXCProcessEnsureRootFS(virDomainObjPtr vm)
         return 0;
 
     if (VIR_ALLOC(root) < 0)
-        goto no_memory;
+        goto error;
 
     root->type = VIR_DOMAIN_FS_TYPE_MOUNT;
 
@@ -1008,8 +1004,6 @@ virLXCProcessEnsureRootFS(virDomainObjPtr vm)
 
     return 0;
 
-no_memory:
-    virReportOOMError();
 error:
     virDomainFSDefFree(root);
     return -1;
@@ -1084,10 +1078,8 @@ int virLXCProcessStart(virConnectPtr conn,
     }
 
     if (virAsprintf(&logfile, "%s/%s.log",
-                    driver->logDir, vm->def->name) < 0) {
-        virReportOOMError();
+                    driver->logDir, vm->def->name) < 0)
         return -1;
-    }
 
     /* Do this up front, so any part of the startup process can add
      * runtime state to vm->def that won't be persisted. This let's us
@@ -1127,10 +1119,8 @@ int virLXCProcessStart(virConnectPtr conn,
      * and forward I/O between them.
      */
     nttyFDs = vm->def->nconsoles;
-    if (VIR_ALLOC_N(ttyFDs, nttyFDs) < 0) {
-        virReportOOMError();
+    if (VIR_ALLOC_N(ttyFDs, nttyFDs) < 0)
         goto cleanup;
-    }
     for (i = 0; i < vm->def->nconsoles; i++)
         ttyFDs[i] = -1;
 
@@ -1170,10 +1160,8 @@ int virLXCProcessStart(virConnectPtr conn,
         vm->def->consoles[i]->source.data.file.path = ttyPath;
 
         VIR_FREE(vm->def->consoles[i]->info.alias);
-        if (virAsprintf(&vm->def->consoles[i]->info.alias, "console%zu", i) < 0) {
-            virReportOOMError();
+        if (virAsprintf(&vm->def->consoles[i]->info.alias, "console%zu", i) < 0)
             goto cleanup;
-        }
     }
 
     if (virLXCProcessSetupInterfaces(conn, vm->def, &nveths, &veths) < 0)
@@ -1224,10 +1212,8 @@ int virLXCProcessStart(virConnectPtr conn,
     }
 
     /* Log timestamp */
-    if ((timestamp = virTimeStringNow()) == NULL) {
-        virReportOOMError();
+    if ((timestamp = virTimeStringNow()) == NULL)
         goto cleanup;
-    }
     if (safewrite(logfd, timestamp, strlen(timestamp)) < 0 ||
         safewrite(logfd, START_POSTFIX, strlen(START_POSTFIX)) < 0) {
         VIR_WARN("Unable to write timestamp to logfile: %s",
-- 
1.8.1.5




More information about the libvir-list mailing list