mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-03 15:43:51 +00:00
Fix const-correctness of virRUn and virExec
This commit is contained in:
parent
5ba372306a
commit
b3728d7d72
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
|||||||
|
Fri Aug 8 16:41:24 BST 2008 Daniel Berrange <berrange@redhat.com>
|
||||||
|
|
||||||
|
* src/iptables.c, src/lxc_driver.c, src/openvz_driver.c,
|
||||||
|
src/qemu_conf.c, src/qemu_conf.h, src/qemu_driver.c,
|
||||||
|
src/storage_backend.c, src/storage_backend_disk.c,
|
||||||
|
src/storage_backend_fs.c, src/storage_backend_iscsi.c,
|
||||||
|
src/storage_backend_logical.c, src/util.c, src/util.h,
|
||||||
|
src/veth.c, tests/qemuxml2argvtest.c: Fix const-correctness
|
||||||
|
of virRun and virExec, and remove unneccessary casts in callers
|
||||||
|
|
||||||
Fri Aug 8 16:53:24 CEST 2008 Daniel Veillard <veillard@redhat.com>
|
Fri Aug 8 16:53:24 CEST 2008 Daniel Veillard <veillard@redhat.com>
|
||||||
|
|
||||||
* src/domain_conf.c src/domain_conf.h src/qemu_conf.c
|
* src/domain_conf.c src/domain_conf.h src/qemu_conf.c
|
||||||
|
@ -57,7 +57,7 @@ enum {
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
char *rule;
|
char *rule;
|
||||||
char **argv;
|
const char **argv;
|
||||||
int command_idx;
|
int command_idx;
|
||||||
} iptRule;
|
} iptRule;
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ notifyRulesUpdated(const char *table,
|
|||||||
const char *path)
|
const char *path)
|
||||||
{
|
{
|
||||||
char arg[PATH_MAX];
|
char arg[PATH_MAX];
|
||||||
char *argv[4];
|
const char *argv[4];
|
||||||
|
|
||||||
snprintf(arg, sizeof(arg), "--custom-rules=ipv4:%s:%s", table, path);
|
snprintf(arg, sizeof(arg), "--custom-rules=ipv4:%s:%s", table, path);
|
||||||
|
|
||||||
@ -278,7 +278,7 @@ iptRuleFree(iptRule *rule)
|
|||||||
static int
|
static int
|
||||||
iptRulesAppend(iptRules *rules,
|
iptRulesAppend(iptRules *rules,
|
||||||
char *rule,
|
char *rule,
|
||||||
char **argv,
|
const char **argv,
|
||||||
int command_idx)
|
int command_idx)
|
||||||
{
|
{
|
||||||
if (VIR_REALLOC_N(rules->rules, rules->nrules+1) < 0) {
|
if (VIR_REALLOC_N(rules->rules, rules->nrules+1) < 0) {
|
||||||
@ -385,7 +385,7 @@ iptRulesNew(const char *table,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
argvToString(char **argv)
|
argvToString(const char *const *argv)
|
||||||
{
|
{
|
||||||
int len, i;
|
int len, i;
|
||||||
char *ret, *p;
|
char *ret, *p;
|
||||||
@ -415,7 +415,7 @@ iptablesAddRemoveRule(iptRules *rules, int action, const char *arg, ...)
|
|||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
int retval = ENOMEM;
|
int retval = ENOMEM;
|
||||||
char **argv;
|
const char **argv;
|
||||||
char *rule = NULL;
|
char *rule = NULL;
|
||||||
const char *s;
|
const char *s;
|
||||||
int n, command_idx;
|
int n, command_idx;
|
||||||
@ -571,7 +571,7 @@ iptRulesReload(iptRules *rules)
|
|||||||
|
|
||||||
for (i = 0; i < rules->nrules; i++) {
|
for (i = 0; i < rules->nrules; i++) {
|
||||||
iptRule *rule = &rules->rules[i];
|
iptRule *rule = &rules->rules[i];
|
||||||
char *orig;
|
const char *orig;
|
||||||
|
|
||||||
orig = rule->argv[rule->command_idx];
|
orig = rule->argv[rule->command_idx];
|
||||||
rule->argv[rule->command_idx] = (char *) "--delete";
|
rule->argv[rule->command_idx] = (char *) "--delete";
|
||||||
|
@ -1288,7 +1288,7 @@ static int lxcCheckNetNsSupport(void)
|
|||||||
int user_netns = 0;
|
int user_netns = 0;
|
||||||
int kern_netns = 0;
|
int kern_netns = 0;
|
||||||
|
|
||||||
if (virRun(NULL, (char **)argv, &ip_rc) == 0)
|
if (virRun(NULL, argv, &ip_rc) == 0)
|
||||||
user_netns = WIFEXITED(ip_rc) && (WEXITSTATUS(ip_rc) != 255);
|
user_netns = WIFEXITED(ip_rc) && (WEXITSTATUS(ip_rc) != 255);
|
||||||
|
|
||||||
if (lxcCheckContainerSupport(CLONE_NEWNET) == 0)
|
if (lxcCheckContainerSupport(CLONE_NEWNET) == 0)
|
||||||
|
@ -91,13 +91,13 @@ static virDomainPtr openvzDomainCreateLinux(virConnectPtr conn, const char *xml,
|
|||||||
unsigned int flags ATTRIBUTE_UNUSED);
|
unsigned int flags ATTRIBUTE_UNUSED);
|
||||||
|
|
||||||
static int openvzDomainUndefine(virDomainPtr dom);
|
static int openvzDomainUndefine(virDomainPtr dom);
|
||||||
static void cmdExecFree(char *cmdExec[]);
|
static void cmdExecFree(const char *cmdExec[]);
|
||||||
|
|
||||||
static int openvzGetProcessInfo(unsigned long long *cpuTime, int vpsid);
|
static int openvzGetProcessInfo(unsigned long long *cpuTime, int vpsid);
|
||||||
|
|
||||||
struct openvz_driver ovz_driver;
|
struct openvz_driver ovz_driver;
|
||||||
|
|
||||||
static void cmdExecFree(char *cmdExec[])
|
static void cmdExecFree(const char *cmdExec[])
|
||||||
{
|
{
|
||||||
int i=-1;
|
int i=-1;
|
||||||
while(cmdExec[++i])
|
while(cmdExec[++i])
|
||||||
@ -111,7 +111,7 @@ static void cmdExecFree(char *cmdExec[])
|
|||||||
0 - OK
|
0 - OK
|
||||||
*/
|
*/
|
||||||
static int openvzDomainDefineCmd(virConnectPtr conn,
|
static int openvzDomainDefineCmd(virConnectPtr conn,
|
||||||
char *args[],
|
const char *args[],
|
||||||
int maxarg,
|
int maxarg,
|
||||||
struct openvz_vm_def *vmdef)
|
struct openvz_vm_def *vmdef)
|
||||||
{
|
{
|
||||||
@ -287,7 +287,7 @@ static int openvzDomainShutdown(virDomainPtr dom) {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virRun(dom->conn, (char **)prog, NULL) < 0) {
|
if (virRun(dom->conn, prog, NULL) < 0) {
|
||||||
openvzError(dom->conn, VIR_ERR_INTERNAL_ERROR,
|
openvzError(dom->conn, VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Could not exec %s"), VZCTL);
|
_("Could not exec %s"), VZCTL);
|
||||||
return -1;
|
return -1;
|
||||||
@ -319,7 +319,7 @@ static int openvzDomainReboot(virDomainPtr dom,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virRun(dom->conn, (char **)prog, NULL) < 0) {
|
if (virRun(dom->conn, prog, NULL) < 0) {
|
||||||
openvzError(dom->conn, VIR_ERR_INTERNAL_ERROR,
|
openvzError(dom->conn, VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Could not exec %s"), VZCTL);
|
_("Could not exec %s"), VZCTL);
|
||||||
return -1;
|
return -1;
|
||||||
@ -333,7 +333,7 @@ openvzDomainSetNetwork(virConnectPtr conn, const char *vpsid,
|
|||||||
virDomainNetDefPtr net)
|
virDomainNetDefPtr net)
|
||||||
{
|
{
|
||||||
int rc = 0, narg;
|
int rc = 0, narg;
|
||||||
char *prog[OPENVZ_MAX_ARG];
|
const char *prog[OPENVZ_MAX_ARG];
|
||||||
char *mac = NULL;
|
char *mac = NULL;
|
||||||
|
|
||||||
#define ADD_ARG_LIT(thisarg) \
|
#define ADD_ARG_LIT(thisarg) \
|
||||||
@ -391,7 +391,7 @@ openvzDomainSetNetwork(virConnectPtr conn, const char *vpsid,
|
|||||||
|
|
||||||
if (prog[0] != NULL){
|
if (prog[0] != NULL){
|
||||||
ADD_ARG_LIT("--save");
|
ADD_ARG_LIT("--save");
|
||||||
if (virRun(conn, (char **)prog, NULL) < 0) {
|
if (virRun(conn, prog, NULL) < 0) {
|
||||||
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Could not exec %s"), VZCTL);
|
_("Could not exec %s"), VZCTL);
|
||||||
rc = -1;
|
rc = -1;
|
||||||
@ -427,7 +427,7 @@ openvzDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
struct openvz_vm_def *vmdef = NULL;
|
struct openvz_vm_def *vmdef = NULL;
|
||||||
struct openvz_vm *vm = NULL;
|
struct openvz_vm *vm = NULL;
|
||||||
virDomainPtr dom = NULL;
|
virDomainPtr dom = NULL;
|
||||||
char *prog[OPENVZ_MAX_ARG];
|
const char *prog[OPENVZ_MAX_ARG];
|
||||||
prog[0] = NULL;
|
prog[0] = NULL;
|
||||||
|
|
||||||
if ((vmdef = openvzParseVMDef(conn, xml, NULL)) == NULL)
|
if ((vmdef = openvzParseVMDef(conn, xml, NULL)) == NULL)
|
||||||
@ -453,7 +453,7 @@ openvzDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
//TODO: set number virtual CPUs
|
//TODO: set number virtual CPUs
|
||||||
//TODO: set quota
|
//TODO: set quota
|
||||||
|
|
||||||
if (virRun(conn, (char **)prog, NULL) < 0) {
|
if (virRun(conn, prog, NULL) < 0) {
|
||||||
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Could not exec %s"), VZCTL);
|
_("Could not exec %s"), VZCTL);
|
||||||
goto exit;
|
goto exit;
|
||||||
@ -489,7 +489,7 @@ openvzDomainCreateLinux(virConnectPtr conn, const char *xml,
|
|||||||
virDomainPtr dom = NULL;
|
virDomainPtr dom = NULL;
|
||||||
struct openvz_driver *driver = (struct openvz_driver *) conn->privateData;
|
struct openvz_driver *driver = (struct openvz_driver *) conn->privateData;
|
||||||
const char *progstart[] = {VZCTL, "--quiet", "start", NULL, NULL};
|
const char *progstart[] = {VZCTL, "--quiet", "start", NULL, NULL};
|
||||||
char *progcreate[OPENVZ_MAX_ARG];
|
const char *progcreate[OPENVZ_MAX_ARG];
|
||||||
progcreate[0] = NULL;
|
progcreate[0] = NULL;
|
||||||
|
|
||||||
if (!(vmdef = openvzParseVMDef(conn, xml, NULL)))
|
if (!(vmdef = openvzParseVMDef(conn, xml, NULL)))
|
||||||
@ -514,7 +514,7 @@ openvzDomainCreateLinux(virConnectPtr conn, const char *xml,
|
|||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virRun(conn, (char **)progcreate, NULL) < 0) {
|
if (virRun(conn, progcreate, NULL) < 0) {
|
||||||
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Could not exec %s"), VZCTL);
|
_("Could not exec %s"), VZCTL);
|
||||||
goto exit;
|
goto exit;
|
||||||
@ -534,7 +534,7 @@ openvzDomainCreateLinux(virConnectPtr conn, const char *xml,
|
|||||||
|
|
||||||
progstart[3] = vmdef->name;
|
progstart[3] = vmdef->name;
|
||||||
|
|
||||||
if (virRun(conn, (char **)progstart, NULL) < 0) {
|
if (virRun(conn, progstart, NULL) < 0) {
|
||||||
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Could not exec %s"), VZCTL);
|
_("Could not exec %s"), VZCTL);
|
||||||
goto exit;
|
goto exit;
|
||||||
@ -572,7 +572,7 @@ openvzDomainCreate(virDomainPtr dom)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virRun(dom->conn, (char **)prog, NULL) < 0) {
|
if (virRun(dom->conn, prog, NULL) < 0) {
|
||||||
openvzError(dom->conn, VIR_ERR_INTERNAL_ERROR,
|
openvzError(dom->conn, VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Could not exec %s"), VZCTL);
|
_("Could not exec %s"), VZCTL);
|
||||||
return -1;
|
return -1;
|
||||||
@ -604,7 +604,7 @@ openvzDomainUndefine(virDomainPtr dom)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virRun(conn, (char **)prog, NULL) < 0) {
|
if (virRun(conn, prog, NULL) < 0) {
|
||||||
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Could not exec %s"), VZCTL);
|
_("Could not exec %s"), VZCTL);
|
||||||
return -1;
|
return -1;
|
||||||
@ -629,7 +629,7 @@ openvzDomainSetAutostart(virDomainPtr dom, int autostart)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virRun(conn, (char **)prog, NULL) < 0) {
|
if (virRun(conn, prog, NULL) < 0) {
|
||||||
openvzError(conn, VIR_ERR_INTERNAL_ERROR, _("Could not exec %s"), VZCTL);
|
openvzError(conn, VIR_ERR_INTERNAL_ERROR, _("Could not exec %s"), VZCTL);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -742,7 +742,7 @@ static int openvzListDomains(virConnectPtr conn, int *ids, int nids) {
|
|||||||
char *endptr;
|
char *endptr;
|
||||||
const char *cmd[] = {VZLIST, "-ovpsid", "-H" , NULL};
|
const char *cmd[] = {VZLIST, "-ovpsid", "-H" , NULL};
|
||||||
|
|
||||||
ret = virExec(conn, (char **)cmd, &pid, -1, &outfd, &errfd);
|
ret = virExec(conn, cmd, &pid, -1, &outfd, &errfd);
|
||||||
if(ret == -1) {
|
if(ret == -1) {
|
||||||
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Could not exec %s"), VZLIST);
|
_("Could not exec %s"), VZLIST);
|
||||||
@ -779,7 +779,7 @@ static int openvzListDefinedDomains(virConnectPtr conn,
|
|||||||
const char *cmd[] = {VZLIST, "-ovpsid", "-H", "-S", NULL};
|
const char *cmd[] = {VZLIST, "-ovpsid", "-H", "-S", NULL};
|
||||||
|
|
||||||
/* the -S options lists only stopped domains */
|
/* the -S options lists only stopped domains */
|
||||||
ret = virExec(conn, (char **)cmd, &pid, -1, &outfd, &errfd);
|
ret = virExec(conn, cmd, &pid, -1, &outfd, &errfd);
|
||||||
if(ret == -1) {
|
if(ret == -1) {
|
||||||
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
openvzError(conn, VIR_ERR_INTERNAL_ERROR,
|
||||||
_("Could not exec %s"), VZLIST);
|
_("Could not exec %s"), VZLIST);
|
||||||
|
@ -712,7 +712,7 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
struct qemud_driver *driver,
|
struct qemud_driver *driver,
|
||||||
virDomainObjPtr vm,
|
virDomainObjPtr vm,
|
||||||
int qemuCmdFlags,
|
int qemuCmdFlags,
|
||||||
char ***retargv,
|
const char ***retargv,
|
||||||
int **tapfds,
|
int **tapfds,
|
||||||
int *ntapfds,
|
int *ntapfds,
|
||||||
const char *migrateFrom) {
|
const char *migrateFrom) {
|
||||||
@ -730,7 +730,7 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
struct utsname ut;
|
struct utsname ut;
|
||||||
int disableKQEMU = 0;
|
int disableKQEMU = 0;
|
||||||
int qargc = 0, qarga = 0;
|
int qargc = 0, qarga = 0;
|
||||||
char **qargv = NULL;
|
const char **qargv = NULL;
|
||||||
|
|
||||||
uname(&ut);
|
uname(&ut);
|
||||||
|
|
||||||
@ -777,7 +777,7 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
do { \
|
do { \
|
||||||
ADD_ARG_LIT("-usbdevice"); \
|
ADD_ARG_LIT("-usbdevice"); \
|
||||||
ADD_ARG_SPACE; \
|
ADD_ARG_SPACE; \
|
||||||
if ((asprintf(&qargv[qargc++], "disk:%s", thisarg)) == -1) { \
|
if ((asprintf((char **)&(qargv[qargc++]), "disk:%s", thisarg)) == -1) { \
|
||||||
qargv[qargc-1] = NULL; \
|
qargv[qargc-1] = NULL; \
|
||||||
goto no_memory; \
|
goto no_memory; \
|
||||||
} \
|
} \
|
||||||
|
@ -95,7 +95,7 @@ int qemudBuildCommandLine (virConnectPtr conn,
|
|||||||
struct qemud_driver *driver,
|
struct qemud_driver *driver,
|
||||||
virDomainObjPtr dom,
|
virDomainObjPtr dom,
|
||||||
int qemuCmdFlags,
|
int qemuCmdFlags,
|
||||||
char ***argv,
|
const char ***argv,
|
||||||
int **tapfds,
|
int **tapfds,
|
||||||
int *ntapfds,
|
int *ntapfds,
|
||||||
const char *migrateFrom);
|
const char *migrateFrom);
|
||||||
|
@ -842,7 +842,7 @@ static int qemudStartVMDaemon(virConnectPtr conn,
|
|||||||
struct qemud_driver *driver,
|
struct qemud_driver *driver,
|
||||||
virDomainObjPtr vm,
|
virDomainObjPtr vm,
|
||||||
const char *migrateFrom) {
|
const char *migrateFrom) {
|
||||||
char **argv = NULL, **tmp;
|
const char **argv = NULL, **tmp;
|
||||||
int i, ret;
|
int i, ret;
|
||||||
char logfile[PATH_MAX];
|
char logfile[PATH_MAX];
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
@ -1087,7 +1087,7 @@ static int qemudDispatchVMFailure(struct qemud_driver *driver, virDomainObjPtr v
|
|||||||
static int
|
static int
|
||||||
qemudBuildDnsmasqArgv(virConnectPtr conn,
|
qemudBuildDnsmasqArgv(virConnectPtr conn,
|
||||||
virNetworkObjPtr network,
|
virNetworkObjPtr network,
|
||||||
char ***argv) {
|
const char ***argv) {
|
||||||
int i, len, r;
|
int i, len, r;
|
||||||
char buf[PATH_MAX];
|
char buf[PATH_MAX];
|
||||||
|
|
||||||
@ -1184,7 +1184,7 @@ static int
|
|||||||
dhcpStartDhcpDaemon(virConnectPtr conn,
|
dhcpStartDhcpDaemon(virConnectPtr conn,
|
||||||
virNetworkObjPtr network)
|
virNetworkObjPtr network)
|
||||||
{
|
{
|
||||||
char **argv;
|
const char **argv;
|
||||||
int ret, i;
|
int ret, i;
|
||||||
|
|
||||||
if (network->def->ipAddress == NULL) {
|
if (network->def->ipAddress == NULL) {
|
||||||
|
@ -403,7 +403,7 @@ virStorageBackendRunProgRegex(virConnectPtr conn,
|
|||||||
|
|
||||||
|
|
||||||
/* Run the program and capture its output */
|
/* Run the program and capture its output */
|
||||||
if (virExec(conn, (char**)prog, &child, -1, &fd, NULL) < 0) {
|
if (virExec(conn, prog, &child, -1, &fd, NULL) < 0) {
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -537,7 +537,7 @@ virStorageBackendRunProgNul(virConnectPtr conn,
|
|||||||
v[i] = NULL;
|
v[i] = NULL;
|
||||||
|
|
||||||
/* Run the program and capture its output */
|
/* Run the program and capture its output */
|
||||||
if (virExec(conn, (char**)prog, &child, -1, &fd, NULL) < 0) {
|
if (virExec(conn, prog, &child, -1, &fd, NULL) < 0) {
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -410,7 +410,7 @@ virStorageBackendDiskBuildPool(virConnectPtr conn,
|
|||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (virRun(conn, (char**)prog, NULL) < 0)
|
if (virRun(conn, prog, NULL) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -469,7 +469,7 @@ virStorageBackendDiskCreateVol(virConnectPtr conn,
|
|||||||
snprintf(end, sizeof(end)-1, "%lluB", endOffset);
|
snprintf(end, sizeof(end)-1, "%lluB", endOffset);
|
||||||
end[sizeof(end)-1] = '\0';
|
end[sizeof(end)-1] = '\0';
|
||||||
|
|
||||||
if (virRun(conn, (char**)cmdargv, NULL) < 0)
|
if (virRun(conn, cmdargv, NULL) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
/* Blow away free extent info, as we're about to re-populate it */
|
/* Blow away free extent info, as we're about to re-populate it */
|
||||||
|
@ -571,7 +571,7 @@ virStorageBackendFileSystemMount(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
mntargv[source_index] = src;
|
mntargv[source_index] = src;
|
||||||
|
|
||||||
if (virRun(conn, (char**)mntargv, NULL) < 0) {
|
if (virRun(conn, mntargv, NULL) < 0) {
|
||||||
VIR_FREE(src);
|
VIR_FREE(src);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -625,7 +625,7 @@ virStorageBackendFileSystemUnmount(virConnectPtr conn,
|
|||||||
mntargv[1] = pool->def->target.path;
|
mntargv[1] = pool->def->target.path;
|
||||||
mntargv[2] = NULL;
|
mntargv[2] = NULL;
|
||||||
|
|
||||||
if (virRun(conn, (char**)mntargv, NULL) < 0) {
|
if (virRun(conn, mntargv, NULL) < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -940,7 +940,7 @@ virStorageBackendFileSystemVolCreate(virConnectPtr conn,
|
|||||||
imgargv[5] = size;
|
imgargv[5] = size;
|
||||||
imgargv[6] = NULL;
|
imgargv[6] = NULL;
|
||||||
|
|
||||||
if (virRun(conn, (char **)imgargv, NULL) < 0) {
|
if (virRun(conn, imgargv, NULL) < 0) {
|
||||||
unlink(vol->target.path);
|
unlink(vol->target.path);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -975,7 +975,7 @@ virStorageBackendFileSystemVolCreate(virConnectPtr conn,
|
|||||||
imgargv[2] = vol->target.path;
|
imgargv[2] = vol->target.path;
|
||||||
imgargv[3] = NULL;
|
imgargv[3] = NULL;
|
||||||
|
|
||||||
if (virRun(conn, (char **)imgargv, NULL) < 0) {
|
if (virRun(conn, imgargv, NULL) < 0) {
|
||||||
unlink(vol->target.path);
|
unlink(vol->target.path);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -158,7 +158,7 @@ virStorageBackendISCSIConnection(virConnectPtr conn,
|
|||||||
"--targetname", pool->def->source.devices[0].path, action, NULL
|
"--targetname", pool->def->source.devices[0].path, action, NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
if (virRun(conn, (char **)cmdargv, NULL) < 0)
|
if (virRun(conn, cmdargv, NULL) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -507,7 +507,7 @@ virStorageBackendISCSIRescanLUNs(virConnectPtr conn,
|
|||||||
ISCSIADM, "--mode", "session", "-r", session, "-R", NULL,
|
ISCSIADM, "--mode", "session", "-r", session, "-R", NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (virRun(conn, (char **)cmdargv, NULL) < 0)
|
if (virRun(conn, cmdargv, NULL) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -524,7 +524,7 @@ virStorageBackendISCSILogin(virConnectPtr conn,
|
|||||||
"--portal", portal, NULL
|
"--portal", portal, NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
if (virRun(conn, (char **)cmdsendtarget, NULL) < 0)
|
if (virRun(conn, cmdsendtarget, NULL) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
return virStorageBackendISCSIConnection(conn, pool, portal, "--login");
|
return virStorageBackendISCSIConnection(conn, pool, portal, "--login");
|
||||||
|
@ -83,7 +83,7 @@ virStorageBackendLogicalSetActive(virConnectPtr conn,
|
|||||||
cmdargv[2] = pool->def->name;
|
cmdargv[2] = pool->def->name;
|
||||||
cmdargv[3] = NULL;
|
cmdargv[3] = NULL;
|
||||||
|
|
||||||
if (virRun(conn, (char**)cmdargv, NULL) < 0)
|
if (virRun(conn, cmdargv, NULL) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -324,14 +324,14 @@ virStorageBackendLogicalBuildPool(virConnectPtr conn,
|
|||||||
*/
|
*/
|
||||||
vgargv[n++] = pool->def->source.devices[i].path;
|
vgargv[n++] = pool->def->source.devices[i].path;
|
||||||
pvargv[1] = pool->def->source.devices[i].path;
|
pvargv[1] = pool->def->source.devices[i].path;
|
||||||
if (virRun(conn, (char**)pvargv, NULL) < 0)
|
if (virRun(conn, pvargv, NULL) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
vgargv[n++] = NULL;
|
vgargv[n++] = NULL;
|
||||||
|
|
||||||
/* Now create the volume group itself */
|
/* Now create the volume group itself */
|
||||||
if (virRun(conn, (char**)vgargv, NULL) < 0)
|
if (virRun(conn, vgargv, NULL) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
VIR_FREE(vgargv);
|
VIR_FREE(vgargv);
|
||||||
@ -422,7 +422,7 @@ virStorageBackendLogicalDeletePool(virConnectPtr conn,
|
|||||||
VGREMOVE, "-f", pool->def->name, NULL
|
VGREMOVE, "-f", pool->def->name, NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
if (virRun(conn, (char**)cmdargv, NULL) < 0)
|
if (virRun(conn, cmdargv, NULL) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
/* XXX clear the PVs too ? ie pvremove ? probably ought to */
|
/* XXX clear the PVs too ? ie pvremove ? probably ought to */
|
||||||
@ -453,7 +453,7 @@ virStorageBackendLogicalCreateVol(virConnectPtr conn,
|
|||||||
snprintf(size, sizeof(size)-1, "%lluK", vol->capacity/1024);
|
snprintf(size, sizeof(size)-1, "%lluK", vol->capacity/1024);
|
||||||
size[sizeof(size)-1] = '\0';
|
size[sizeof(size)-1] = '\0';
|
||||||
|
|
||||||
if (virRun(conn, (char**)cmdargv, NULL) < 0)
|
if (virRun(conn, cmdargv, NULL) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ((fd = open(vol->target.path, O_RDONLY)) < 0) {
|
if ((fd = open(vol->target.path, O_RDONLY)) < 0) {
|
||||||
@ -514,7 +514,7 @@ virStorageBackendLogicalDeleteVol(virConnectPtr conn,
|
|||||||
LVREMOVE, "-f", vol->target.path, NULL
|
LVREMOVE, "-f", vol->target.path, NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
if (virRun(conn, (char**)cmdargv, NULL) < 0)
|
if (virRun(conn, cmdargv, NULL) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
16
src/util.c
16
src/util.c
@ -102,8 +102,8 @@ static int virSetNonBlock(int fd) {
|
|||||||
|
|
||||||
static int
|
static int
|
||||||
_virExec(virConnectPtr conn,
|
_virExec(virConnectPtr conn,
|
||||||
char **argv,
|
const char *const*argv,
|
||||||
int *retpid, int infd, int *outfd, int *errfd, int non_block) {
|
int *retpid, int infd, int *outfd, int *errfd, int non_block) {
|
||||||
int pid, null;
|
int pid, null;
|
||||||
int pipeout[2] = {-1,-1};
|
int pipeout[2] = {-1,-1};
|
||||||
int pipeerr[2] = {-1,-1};
|
int pipeerr[2] = {-1,-1};
|
||||||
@ -185,7 +185,7 @@ _virExec(virConnectPtr conn,
|
|||||||
if (pipeerr[1] > 0)
|
if (pipeerr[1] > 0)
|
||||||
close(pipeerr[1]);
|
close(pipeerr[1]);
|
||||||
|
|
||||||
execvp(argv[0], argv);
|
execvp(argv[0], (char **) argv);
|
||||||
|
|
||||||
_exit(1);
|
_exit(1);
|
||||||
|
|
||||||
@ -207,16 +207,16 @@ _virExec(virConnectPtr conn,
|
|||||||
|
|
||||||
int
|
int
|
||||||
virExec(virConnectPtr conn,
|
virExec(virConnectPtr conn,
|
||||||
char **argv,
|
const char *const*argv,
|
||||||
int *retpid, int infd, int *outfd, int *errfd) {
|
int *retpid, int infd, int *outfd, int *errfd) {
|
||||||
|
|
||||||
return(_virExec(conn, argv, retpid, infd, outfd, errfd, 0));
|
return(_virExec(conn, argv, retpid, infd, outfd, errfd, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
virExecNonBlock(virConnectPtr conn,
|
virExecNonBlock(virConnectPtr conn,
|
||||||
char **argv,
|
const char *const*argv,
|
||||||
int *retpid, int infd, int *outfd, int *errfd) {
|
int *retpid, int infd, int *outfd, int *errfd) {
|
||||||
|
|
||||||
return(_virExec(conn, argv, retpid, infd, outfd, errfd, 1));
|
return(_virExec(conn, argv, retpid, infd, outfd, errfd, 1));
|
||||||
}
|
}
|
||||||
@ -238,7 +238,7 @@ virExecNonBlock(virConnectPtr conn,
|
|||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
virRun(virConnectPtr conn,
|
virRun(virConnectPtr conn,
|
||||||
char **argv,
|
const char *const*argv,
|
||||||
int *status) {
|
int *status) {
|
||||||
int childpid, exitstatus, ret;
|
int childpid, exitstatus, ret;
|
||||||
|
|
||||||
|
@ -27,11 +27,11 @@
|
|||||||
#include "util-lib.h"
|
#include "util-lib.h"
|
||||||
#include "verify.h"
|
#include "verify.h"
|
||||||
|
|
||||||
int virExec(virConnectPtr conn, char **argv, int *retpid,
|
int virExec(virConnectPtr conn, const char *const*argv, int *retpid,
|
||||||
int infd, int *outfd, int *errfd);
|
int infd, int *outfd, int *errfd);
|
||||||
int virExecNonBlock(virConnectPtr conn, char **argv, int *retpid,
|
int virExecNonBlock(virConnectPtr conn, const char *const*argv, int *retpid,
|
||||||
int infd, int *outfd, int *errfd);
|
int infd, int *outfd, int *errfd);
|
||||||
int virRun(virConnectPtr conn, char **argv, int *status);
|
int virRun(virConnectPtr conn, const char *const*argv, int *status);
|
||||||
|
|
||||||
int __virFileReadAll(const char *path,
|
int __virFileReadAll(const char *path,
|
||||||
int maxlen,
|
int maxlen,
|
||||||
|
@ -104,7 +104,7 @@ int vethCreate(char* veth1, int veth1MaxLen,
|
|||||||
}
|
}
|
||||||
|
|
||||||
DEBUG("veth1: %s veth2: %s", veth1, veth2);
|
DEBUG("veth1: %s veth2: %s", veth1, veth2);
|
||||||
rc = virRun(NULL, (char**)argv, &cmdResult);
|
rc = virRun(NULL, argv, &cmdResult);
|
||||||
|
|
||||||
if (0 == rc) {
|
if (0 == rc) {
|
||||||
rc = cmdResult;
|
rc = cmdResult;
|
||||||
@ -137,7 +137,7 @@ int vethDelete(const char *veth)
|
|||||||
|
|
||||||
DEBUG("veth: %s", veth);
|
DEBUG("veth: %s", veth);
|
||||||
|
|
||||||
rc = virRun(NULL, (char**)argv, &cmdResult);
|
rc = virRun(NULL, argv, &cmdResult);
|
||||||
|
|
||||||
if (0 == rc) {
|
if (0 == rc) {
|
||||||
rc = cmdResult;
|
rc = cmdResult;
|
||||||
@ -172,7 +172,7 @@ int vethInterfaceUpOrDown(const char* veth, int upOrDown)
|
|||||||
else
|
else
|
||||||
argv[2] = "up";
|
argv[2] = "up";
|
||||||
|
|
||||||
rc = virRun(NULL, (char**)argv, &cmdResult);
|
rc = virRun(NULL, argv, &cmdResult);
|
||||||
|
|
||||||
if (0 == rc) {
|
if (0 == rc) {
|
||||||
rc = cmdResult;
|
rc = cmdResult;
|
||||||
@ -210,7 +210,7 @@ int moveInterfaceToNetNs(const char* interface, int pidInNs)
|
|||||||
goto error_out;
|
goto error_out;
|
||||||
|
|
||||||
argv[5] = pid;
|
argv[5] = pid;
|
||||||
rc = virRun(NULL, (char**)argv, &cmdResult);
|
rc = virRun(NULL, argv, &cmdResult);
|
||||||
if (0 == rc)
|
if (0 == rc)
|
||||||
rc = cmdResult;
|
rc = cmdResult;
|
||||||
|
|
||||||
|
@ -26,8 +26,8 @@ static int testCompareXMLToArgvFiles(const char *xml, const char *cmd, int extra
|
|||||||
char argvData[MAX_FILE];
|
char argvData[MAX_FILE];
|
||||||
char *expectargv = &(argvData[0]);
|
char *expectargv = &(argvData[0]);
|
||||||
char *actualargv = NULL;
|
char *actualargv = NULL;
|
||||||
char **argv = NULL;
|
const char **argv = NULL;
|
||||||
char **tmp = NULL;
|
const char **tmp = NULL;
|
||||||
int ret = -1, len, flags;
|
int ret = -1, len, flags;
|
||||||
virDomainDefPtr vmdef = NULL;
|
virDomainDefPtr vmdef = NULL;
|
||||||
virDomainObj vm;
|
virDomainObj vm;
|
||||||
@ -81,7 +81,7 @@ static int testCompareXMLToArgvFiles(const char *xml, const char *cmd, int extra
|
|||||||
if (argv) {
|
if (argv) {
|
||||||
tmp = argv;
|
tmp = argv;
|
||||||
while (*tmp) {
|
while (*tmp) {
|
||||||
free(*tmp);
|
free(*(char**)tmp);
|
||||||
tmp++;
|
tmp++;
|
||||||
}
|
}
|
||||||
free(argv);
|
free(argv);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user