try_compiler_flags="$try_compiler_flags -Wredundant-decls"
try_compiler_flags="$try_compiler_flags -Wno-sign-compare"
try_compiler_flags="$try_compiler_flags -Wlogical-op"
+ try_compiler_flags="$try_compiler_flags -Wjump-misses-init"
try_compiler_flags="$try_compiler_flags $common_flags"
if test "$enable_compile_warnings" = "error" ; then
try_compiler_flags="$try_compiler_flags -Werror"
virDomainTimerDefPtr def;
xmlNodePtr oldnode = ctxt->node;
+ xmlNodePtr catchup;
+ int ret;
if (VIR_ALLOC(def) < 0) {
virReportOOMError();
}
}
- int ret = virXPathULong("string(./frequency)", ctxt, &def->frequency);
+ ret = virXPathULong("string(./frequency)", ctxt, &def->frequency);
if (ret == -1) {
def->frequency = 0;
} else if (ret < 0) {
}
}
- xmlNodePtr catchup = virXPathNode("./catchup", ctxt);
+ catchup = virXPathNode("./catchup", ctxt);
if (catchup != NULL) {
ret = virXPathULong("string(./catchup/@threshold)", ctxt,
&def->catchup.threshold);
const char *syspath = NULL;
union _virNodeDevCapData *data = &def->caps->data;
int ret = -1;
+ char *p;
syspath = udev_device_get_syspath(device);
goto out;
}
- char *p = strrchr(syspath, '/');
+ p = strrchr(syspath, '/');
if ((p == NULL) || (udevStrToLong_ui(p+1,
&p,
char *ret = NULL;
int exit_status = 0;
virBuffer buf = VIR_BUFFER_INITIALIZER;
+ char *char_ptr;
virBufferAddLit(&buf, "lssyscfg -r lpar");
if (system_type == HMC)
if (exit_status < 0 || ret == NULL)
goto err;
- char *char_ptr = strchr(ret, '\n');
+ char_ptr = strchr(ret, '\n');
if (char_ptr)
*char_ptr = '\0';
char *cmd = NULL;
char *ret = NULL;
virBuffer buf = VIR_BUFFER_INITIALIZER;
+ char *char_ptr;
virBufferAddLit(&buf, "lssyscfg");
if (system_type == HMC)
if (exit_status < 0 || ret == NULL)
goto err;
- char *char_ptr = strchr(ret, '\n');
+ char_ptr = strchr(ret, '\n');
if (char_ptr)
*char_ptr = '\0';
char *cmd = NULL;
char *ret = NULL;
virBuffer buf = VIR_BUFFER_INITIALIZER;
+ char *char_ptr;
if (system_type == HMC)
virBufferVSprintf(&buf, "viosvrcmd -m %s --id %d -c '",
if (exit_status < 0 || ret == NULL)
goto err;
- char *char_ptr = strchr(ret, '\n');
+ char_ptr = strchr(ret, '\n');
if (char_ptr)
*char_ptr = '\0';
char *cmd = NULL;
char *ret = NULL;
virBuffer buf = VIR_BUFFER_INITIALIZER;
+ char *char_ptr;
if (system_type == HMC)
virBufferVSprintf(&buf, "viosvrcmd -m %s --id %d -c '",
if (exit_status < 0 || ret == NULL)
goto err;
- char *char_ptr = strchr(ret, '\n');
+ char_ptr = strchr(ret, '\n');
if (char_ptr)
*char_ptr = '\0';
char *cmd = NULL;
char *ret = NULL;
virBuffer buf = VIR_BUFFER_INITIALIZER;
+ char *char_ptr;
if (system_type == HMC)
virBufferVSprintf(&buf, "viosvrcmd -m %s --id %d -c '",
if (exit_status < 0 || ret == NULL)
goto err;
- char *char_ptr = strchr(ret, '\n');
+ char_ptr = strchr(ret, '\n');
if (char_ptr)
*char_ptr = '\0';
char *cmd = NULL;
char *ret = NULL;
virBuffer buf = VIR_BUFFER_INITIALIZER;
+ char *char_ptr;
if (system_type == HMC)
virBufferVSprintf(&buf, "viosvrcmd -m %s --id %d -c '",
if (exit_status < 0 || ret == NULL)
goto err;
- char *char_ptr = strchr(ret, '\n');
+ char_ptr = strchr(ret, '\n');
if (char_ptr)
*char_ptr = '\0';
char *sp = NULL;
char *path = NULL;
virBuffer buf = VIR_BUFFER_INITIALIZER;
+ char *char_ptr;
+ char *pv;
if (system_type == HMC)
virBufferVSprintf(&buf, "viosvrcmd -m %s --id %d -c '",
if (exit_status < 0 || sp == NULL)
goto err;
- char *char_ptr = strchr(sp, '\n');
+ char_ptr = strchr(sp, '\n');
if (char_ptr)
*char_ptr = '\0';
- char *pv = phypVolumeGetPhysicalVolumeByStoragePool(vol, sp);
+ pv = phypVolumeGetPhysicalVolumeByStoragePool(vol, sp);
if (pv) {
if (virAsprintf(&path, "/%s/%s/%s", pv, sp, vol->name) < 0) {
for (i = 0 ; i < def->nchannels ; i++) {
virDomainChrDefPtr channel = def->channels[i];
char *devstr;
+ char *addr;
+ int port;
switch(channel->targetType) {
case VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_GUESTFWD:
virCommandAddArg(cmd, devstr);
VIR_FREE(devstr);
- char *addr = virSocketFormatAddr(channel->target.addr);
+ addr = virSocketFormatAddr(channel->target.addr);
if (!addr)
goto error;
- int port = virSocketGetPort(channel->target.addr);
+ port = virSocketGetPort(channel->target.addr);
virCommandAddArg(cmd, "-netdev");
virCommandAddArgFormat(cmd,
struct qemud_driver *driver = dom->conn->privateData;
virDomainObjPtr vm;
int ret = -1;
+ qemuDomainObjPrivatePtr priv;
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
goto endjob;
}
- qemuDomainObjPrivatePtr priv = vm->privateData;
+ priv = vm->privateData;
qemuDomainObjEnterMonitor(vm);
ret = qemuMonitorSystemPowerdown(priv->mon);
qemuDomainObjExitMonitor(vm);
int i, ret = -1;
virDomainObjPtr vm;
virDomainDiskDefPtr disk = NULL;
+ qemuDomainObjPrivatePtr priv;
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
goto endjob;
}
- qemuDomainObjPrivatePtr priv = vm->privateData;
+ priv = vm->privateData;
qemuDomainObjEnterMonitor(vm);
ret = qemuMonitorGetBlockStatsInfo(priv->mon,
disk->info.alias,
virDomainObjPtr vm;
char *tmp = NULL;
int fd = -1, ret = -1;
+ qemuDomainObjPrivatePtr priv;
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
goto endjob;
}
- qemuDomainObjPrivatePtr priv = vm->privateData;
+ priv = vm->privateData;
qemuDomainObjEnterMonitor(vm);
if (flags == VIR_MEMORY_VIRTUAL) {
if (qemuMonitorSaveVirtualMemory(priv->mon, offset, size, tmp) < 0) {
int i;
int ret;
char *driveAlias = NULL;
+ qemuDomainObjPrivatePtr priv;
- origdisk = NULL;
for (i = 0 ; i < vm->def->ndisks ; i++) {
if (vm->def->disks[i]->bus == disk->bus &&
STREQ(vm->def->disks[i]->dst, disk->dst)) {
if (!(driveAlias = qemuDeviceDriveHostAlias(origdisk, qemuCaps)))
goto error;
- qemuDomainObjPrivatePtr priv = vm->privateData;
+ priv = vm->privateData;
qemuDomainObjEnterMonitorWithDriver(driver, vm);
if (disk->src) {
const char *format = NULL;
if (qemuMonitorHMPCommand(mon, "info chardev", &reply) < 0) {
qemuReportError(VIR_ERR_OPERATION_FAILED, "%s",
_("failed to retrieve chardev info in qemu with 'info chardev'"));
- goto cleanup;
+ return -1;
}
char *pos; /* The current start of searching */
int logfd;
int ret = -1;
virHashTablePtr paths = NULL;
+ qemuDomainObjPrivatePtr priv;
if ((logfd = qemuProcessLogReadFD(driver->logDir, vm->def->name, pos)) < 0)
return -1;
if (paths == NULL)
goto cleanup;
- qemuDomainObjPrivatePtr priv = vm->privateData;
+ priv = vm->privateData;
qemuDomainObjEnterMonitorWithDriver(driver, vm);
ret = qemuMonitorGetPtyPaths(priv->mon, paths);
qemuDomainObjExitMonitorWithDriver(driver, vm);
goto failed;
/* Finally we can call the remote side's open function. */
- remote_open_args args = { &name, flags };
+ {
+ remote_open_args args = { &name, flags };
- if (call (conn, priv, REMOTE_CALL_IN_OPEN, REMOTE_PROC_OPEN,
- (xdrproc_t) xdr_remote_open_args, (char *) &args,
- (xdrproc_t) xdr_void, (char *) NULL) == -1)
- goto failed;
+ if (call (conn, priv, REMOTE_CALL_IN_OPEN, REMOTE_PROC_OPEN,
+ (xdrproc_t) xdr_remote_open_args, (char *) &args,
+ (xdrproc_t) xdr_void, (char *) NULL) == -1)
+ goto failed;
+ }
/* Now try and find out what URI the daemon used */
if (conn->uri == NULL) {
{
char *newcontext = NULL;
char *scontext = strdup(oldcontext);
+ context_t con;
if (!scontext) goto err;
- context_t con = context_new(scontext);
+ con = context_new(scontext);
if (!con) goto err;
context_range_set(con, mcs);
newcontext = strdup(context_str(con));
/*
* storage_backend_iscsi.c: storage backend for iSCSI handling
*
- * Copyright (C) 2007-2008, 2010 Red Hat, Inc.
+ * Copyright (C) 2007-2008, 2010-2011 Red Hat, Inc.
* Copyright (C) 2007-2008 Daniel P. Berrange
*
* This library is free software; you can redistribute it and/or
{
int ret = -1, exitstatus = -1;
char temp_ifacename[32];
+ const char *const cmdargv1[] = {
+ ISCSIADM, "--mode", "iface", "--interface",
+ temp_ifacename, "--op", "new", NULL
+ };
+ const char *const cmdargv2[] = {
+ ISCSIADM, "--mode", "iface", "--interface", temp_ifacename,
+ "--op", "update", "--name", "iface.initiatorname", "--value",
+ initiatoriqn, NULL
+ };
if (virRandomInitialize(time(NULL) ^ getpid()) == -1) {
virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s",
goto out;
}
- snprintf(temp_ifacename, sizeof(temp_ifacename), "libvirt-iface-%08x", virRandom(1024 * 1024 * 1024));
-
- const char *const cmdargv1[] = {
- ISCSIADM, "--mode", "iface", "--interface",
- &temp_ifacename[0], "--op", "new", NULL
- };
+ snprintf(temp_ifacename, sizeof(temp_ifacename), "libvirt-iface-%08x",
+ virRandom(1024 * 1024 * 1024));
VIR_DEBUG("Attempting to create interface '%s' with IQN '%s'",
&temp_ifacename[0], initiatoriqn);
goto out;
}
- const char *const cmdargv2[] = {
- ISCSIADM, "--mode", "iface", "--interface", &temp_ifacename[0],
- "--op", "update", "--name", "iface.initiatorname", "--value",
- initiatoriqn, NULL
- };
-
/* Note that we ignore the exitstatus. Older versions of iscsiadm tools
* returned an exit status of > 0, even if they succeeded. We will just
* rely on whether iface file got updated properly. */
int childerr = -1;
int tmpfd;
const char *binary = NULL;
+ int forkRet;
if (argv[0][0] != '/') {
if (!(binary = virFindFileInPath(argv[0]))) {
childerr = null;
}
- int forkRet = virFork(&pid);
+ forkRet = virFork(&pid);
if (pid < 0) {
goto cleanup;
}
}
#else /* VBOX_API_VERSION != 2002 */
- IProgress *progress = NULL;
- host->vtbl->CreateHostOnlyNetworkInterface(host, &networkInterface, &progress);
+ {
+ IProgress *progress = NULL;
+ host->vtbl->CreateHostOnlyNetworkInterface(host, &networkInterface,
+ &progress);
- if (progress) {
- progress->vtbl->WaitForCompletion(progress, -1);
- VBOX_RELEASE(progress);
+ if (progress) {
+ progress->vtbl->WaitForCompletion(progress, -1);
+ VBOX_RELEASE(progress);
+ }
}
#endif /* VBOX_API_VERSION != 2002 */
static int vboxNetworkUndefineDestroy(virNetworkPtr network, bool removeinterface) {
VBOX_OBJECT_HOST_CHECK(network->conn, int, -1);
char *networkNameUtf8 = NULL;
+ PRUnichar *networkInterfaceNameUtf16 = NULL;
+ IHostNetworkInterface *networkInterface = NULL;
/* Current limitation of the function for VirtualBox 2.2.* is
* that you can't delete the default hostonly adaptor namely:
goto cleanup;
}
- PRUnichar *networkInterfaceNameUtf16 = NULL;
- IHostNetworkInterface *networkInterface = NULL;
-
VBOX_UTF8_TO_UTF16(network->name, &networkInterfaceNameUtf16);
host->vtbl->FindHostNetworkInterfaceByName(host, networkInterfaceNameUtf16, &networkInterface);
static int vboxNetworkCreate(virNetworkPtr network) {
VBOX_OBJECT_HOST_CHECK(network->conn, int, -1);
char *networkNameUtf8 = NULL;
+ PRUnichar *networkInterfaceNameUtf16 = NULL;
+ IHostNetworkInterface *networkInterface = NULL;
/* Current limitation of the function for VirtualBox 2.2.* is
* that the default hostonly network "vboxnet0" is always active
goto cleanup;
}
- PRUnichar *networkInterfaceNameUtf16 = NULL;
- IHostNetworkInterface *networkInterface = NULL;
-
VBOX_UTF8_TO_UTF16(network->name, &networkInterfaceNameUtf16);
host->vtbl->FindHostNetworkInterfaceByName(host, networkInterfaceNameUtf16, &networkInterface);
virNetworkDefPtr def = NULL;
virNetworkIpDefPtr ipdef = NULL;
char *networkNameUtf8 = NULL;
+ PRUnichar *networkInterfaceNameUtf16 = NULL;
+ IHostNetworkInterface *networkInterface = NULL;
if (VIR_ALLOC(def) < 0) {
virReportOOMError();
goto cleanup;
}
- PRUnichar *networkInterfaceNameUtf16 = NULL;
- IHostNetworkInterface *networkInterface = NULL;
-
VBOX_UTF8_TO_UTF16(network->name, &networkInterfaceNameUtf16);
host->vtbl->FindHostNetworkInterfaceByName(host, networkInterfaceNameUtf16, &networkInterface);
static virCapsPtr
getCapsObject (void)
{
+ virCapsGuestPtr guest1, guest2;
+ virCapsGuestDomainPtr domain1, domain2;
virCapsPtr caps = virCapabilitiesNew("x86_64", 0, 0);
+
if (!caps) {
virReportOOMError();
return NULL;
}
- virCapsGuestPtr guest1 = virCapabilitiesAddGuest(caps, "hvm", "x86_64", 0, "", "", 0, NULL);
+ guest1 = virCapabilitiesAddGuest(caps, "hvm", "x86_64", 0, "", "", 0, NULL);
if (!guest1)
goto error_cleanup;
- virCapsGuestDomainPtr domain1 = virCapabilitiesAddGuestDomain(guest1, "xen", "", "", 0, NULL);
+ domain1 = virCapabilitiesAddGuestDomain(guest1, "xen", "", "", 0, NULL);
if (!domain1)
goto error_cleanup;
- virCapsGuestPtr guest2 = virCapabilitiesAddGuest(caps, "xen", "x86_64", 0, "", "", 0, NULL);
+ guest2 = virCapabilitiesAddGuest(caps, "xen", "x86_64", 0, "", "", 0, NULL);
if (!guest2)
goto error_cleanup;
- virCapsGuestDomainPtr domain2 = virCapabilitiesAddGuestDomain(guest2, "xen", "", "", 0, NULL);
+ domain2 = virCapabilitiesAddGuestDomain(guest2, "xen", "", "", 0, NULL);
if (!domain2)
goto error_cleanup;
xen_string_string_map *result=NULL;
xen_session *session = ((struct _xenapiPrivate *)(dom->conn->privateData))->session;
virDomainDefPtr defPtr = NULL;
+ char *boot_policy = NULL;
+ unsigned long memory=0;
+ int64_t dynamic_mem=0;
+ char *val = NULL;
+ struct xen_vif_set *vif_set = NULL;
+ char *xml;
if (!xen_vm_get_by_name_label(session, &vms, dom->name)) return NULL;
if (vms->size != 1) {
memcpy(defPtr->uuid, dom->uuid, VIR_UUID_BUFLEN);
if (!(defPtr->name = strdup(dom->name)))
goto error_cleanup;
- char *boot_policy = NULL;
xen_vm_get_hvm_boot_policy(session, &boot_policy, vm);
if (STREQ(boot_policy,"BIOS order")) {
if (!(defPtr->os.type = strdup("hvm"))) {
if (!(defPtr->os.bootloader = strdup("pygrub")))
goto error_cleanup;
}
- char *val = NULL;
xen_vm_get_pv_bootloader_args(session, &val, vm);
if (STRNEQ(val, "")) {
if (!(defPtr->os.bootloaderArgs = strdup(val))) {
}
VIR_FREE(val);
}
- unsigned long memory=0;
memory = xenapiDomainGetMaxMemory(dom);
defPtr->mem.max_balloon = memory;
- int64_t dynamic_mem=0;
if (xen_vm_get_memory_dynamic_max(session, &dynamic_mem, vm)) {
defPtr->mem.cur_balloon = (unsigned long) (dynamic_mem / 1024);
} else {
}
xen_string_string_map_free(result);
}
- struct xen_vif_set *vif_set = NULL;
xen_vm_get_vifs(session, &vif_set, vm);
if (vif_set) {
int i;
xen_vif_set_free(vif_set);
}
if (vms) xen_vm_set_free(vms);
- char *xml = virDomainDefFormat(defPtr, 0);
+ xml = virDomainDefFormat(defPtr, 0);
virDomainDefFree(defPtr);
return xml;
/*
* xenapi_utils.c: Xen API driver -- utils parts.
+ * Copyright (C) 2011 Red Hat, Inc.
* Copyright (C) 2009, 2010 Citrix Ltd.
*
* This library is free software; you can redistribute it and/or
xen_vm_record **record, xen_vm *vm)
{
char uuidStr[VIR_UUID_STRING_BUFLEN];
+ xen_string_string_map *strings = NULL;
+ int device_number = 0;
+ char *bridge = NULL, *mac = NULL;
+ int i;
+
*record = xen_vm_record_alloc();
if (!((*record)->name_label = strdup(def->name)))
goto error_cleanup;
if (def->onCrash)
(*record)->actions_after_crash = actionCrashLibvirt2XenapiEnum(def->onCrash);
- xen_string_string_map *strings = NULL;
if (def->features) {
if (def->features & (1 << VIR_DOMAIN_FEATURE_ACPI))
allocStringMap(&strings, (char *)"acpi", (char *)"true");
return -1;
}
- int device_number = 0;
- char *bridge = NULL, *mac = NULL;
- int i;
for (i = 0; i < def->nnets; i++) {
if (def->nets[i]->type == VIR_DOMAIN_NET_TYPE_BRIDGE) {
if (def->nets[i]->data.bridge.brname)