Re: [libvirt] [PATCH 04/10] Secret manipulation step 7: Local driver
by Miloslav Trmac
----- "Daniel Veillard" <veillard(a)redhat.com> wrote:
> On Mon, Sep 07, 2009 at 04:12:39PM +0200, Miloslav Trmač wrote:
> > + if ((size_t)st.st_size != st.st_size) {
>
> shouldn't we chaeck against SECRET_MAX_XML_FILE instead ?
No, this code reads the secret value, not the XML, and there's little reason to impose an arbitrary limit on the size. SECRET_MAX_XML_FILE is a left-over from an earlier version, the attached updated patch removes the definition.
Mirek
15 years, 2 months
Re: [libvirt] [PATCH 03/10] Add an internal <secret> XML handling API
by Miloslav Trmac
----- "Daniel Veillard" <veillard(a)redhat.com> wrote:
> > + default:
> > + VIR_ERROR(_("unexpected secret usage type %d"), def->usage_type);
> > + break;
>
> Hum, since the virSecretDefPtr is allocated by our own code, it's
> probably better to remove the default so that the compiler can tell us
> we missed one enum case if new ones gets added.
> > + type_str = virXPathString(conn, "string(./usage/@type)", ctxt);
> > + if (type_str == NULL) {
> > + virSecretReportError(conn, VIR_ERR_XML_ERROR, "%s",
> > + _("unknown secret usage type"));
>
> _("missing secret usage type") would be more appropriate I guess
> > + case VIR_SECRET_USAGE_TYPE_VOLUME:
> > + def->usage.volume = virXPathString(conn, "string(./usage/volume)",
> > + ctxt);
> > + break;
> > +
> > + default:
>
> Again default: here means a mismatch between
> virSecretUsageTypeTypeFromString and this function, best handled
> statically IMHO.
Thanks for the review, attached is an updated patch.
Mirek
15 years, 2 months
Re: [libvirt] [PATCH 02/10] Add VIR_SECRET_GET_VALUE_INTERNAL_CALL.
by Miloslav Trmac
----- "Daniel Veillard" <veillard(a)redhat.com> wrote:
> > +/* Make sure ... INTERNAL_CALL can not be set by the caller */
> > +verify((VIR_SECRET_GET_VALUE_INTERNAL_CALL &
> > + VIR_SECRET_GET_VALUE_FLAGS_MASK) == 0);
>
> ??? what's that ? an assert at compile time ? I don't know that construct
> I would rather avoid it if it's not portable.
Yes, a compile-time assert, provided by gnulib. The mechanism depends only on ISO C, and gnulib/lib/verify.h contains detailed comments about why the particular variant was chosen. It seems safe enough to me.
Mirek
15 years, 2 months
[libvirt] [PATCH]: Fixed minor bugs in display and added OOM checks.
by Pritesh Kothari
Hi All,
There was a minor bug in selecting the graphics type. if the graphics type was
desktop it was assumed that display is set for it, and thus crashed on strdup,
so now checking if display is present before setting it.
The second bug was while setting the 3d acceleration parameter, VIR_ALLOC()
returns 0 or greater if success and not the other way round.
Lastly added OOM checks in few places which were missed earlier.
Regards,
Pritesh
15 years, 2 months
[libvirt] [PATCH] 6 dead-store patches
by Jim Meyering
>From 129dc57243df4e73daa24aac671087bcd25f51ad Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Fri, 4 Sep 2009 16:49:37 +0200
Subject: [PATCH 1/6] xm_internal.c: remove dead stores of local, "type"
* src/xm_internal.c (xenXMDomainConfigParse): Remove declaration
and useless containing if-block, too.
---
src/xm_internal.c | 9 +--------
1 files changed, 1 insertions(+), 8 deletions(-)
diff --git a/src/xm_internal.c b/src/xm_internal.c
index 9627ffb..661172b 100644
--- a/src/xm_internal.c
+++ b/src/xm_internal.c
@@ -1,7 +1,7 @@
/*
* xm_internal.h: helper routines for dealing with inactive domains
*
- * Copyright (C) 2006-2007 Red Hat
+ * Copyright (C) 2006-2007, 2009 Red Hat
* Copyright (C) 2006 Daniel P. Berrange
*
* This library is free software; you can redistribute it and/or
@@ -995,7 +995,6 @@ xenXMDomainConfigParse(virConnectPtr conn, virConfPtr conf) {
if (list && list->type == VIR_CONF_LIST) {
list = list->list;
while (list) {
- int type = -1;
char script[PATH_MAX];
char model[10];
char ip[16];
@@ -1031,7 +1030,6 @@ xenXMDomainConfigParse(virConnectPtr conn, virConfPtr conf) {
mac[len] = '\0';
} else if (STRPREFIX(key, "bridge=")) {
int len = nextkey ? (nextkey - data) : sizeof(bridge)-1;
- type = 1;
if (len > (sizeof(bridge)-1))
len = sizeof(bridge)-1;
strncpy(bridge, data, len);
@@ -1069,11 +1067,6 @@ xenXMDomainConfigParse(virConnectPtr conn, virConfPtr conf) {
key = nextkey;
}
- /* XXX Forcing to pretend its a bridge */
- if (type == -1) {
- type = 1;
- }
-
if (VIR_ALLOC(net) < 0)
goto cleanup;
--
1.6.4.2.419.gab238
>From b8b1ea4894ac9bf2a59472958a8bb0749526847f Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Fri, 4 Sep 2009 17:22:19 +0200
Subject: [PATCH 2/6] xm_internal.c: remove two ret=... dead stores
* src/xm_internal.c (xenXMDomainCreate): Remove dead stores.
---
src/xm_internal.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/xm_internal.c b/src/xm_internal.c
index 661172b..de3aca9 100644
--- a/src/xm_internal.c
+++ b/src/xm_internal.c
@@ -1850,10 +1850,10 @@ int xenXMDomainCreate(virDomainPtr domain) {
goto error;
domain->id = ret;
- if ((ret = xend_wait_for_devices(domain->conn, domain->name)) < 0)
+ if (xend_wait_for_devices(domain->conn, domain->name) < 0)
goto error;
- if ((ret = xenDaemonDomainResume(domain)) < 0)
+ if (xenDaemonDomainResume(domain) < 0)
goto error;
xenUnifiedUnlock(priv);
--
1.6.4.2.419.gab238
>From a74d747d27bde38ece90df9a14acb648d83b9993 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Fri, 4 Sep 2009 17:27:34 +0200
Subject: [PATCH 3/6] domain_conf.c: remove two dead stores
* src/domain_conf.c (virDomainSaveXML): Remove use and decl of "err".
(virDomainDefParseXML): Likewise.
---
src/domain_conf.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/domain_conf.c b/src/domain_conf.c
index 8dde5dd..050cf50 100644
--- a/src/domain_conf.c
+++ b/src/domain_conf.c
@@ -2520,8 +2520,7 @@ static virDomainDefPtr virDomainDefParseXML(virConnectPtr conn,
/* Extract domain uuid */
tmp = virXPathString(conn, "string(./uuid[1])", ctxt);
if (!tmp) {
- int err;
- if ((err = virUUIDGenerate(def->uuid))) {
+ if (virUUIDGenerate(def->uuid)) {
virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
"%s", _("Failed to generate UUID"));
goto error;
@@ -4456,12 +4455,11 @@ int virDomainSaveXML(virConnectPtr conn,
char *configFile = NULL;
int fd = -1, ret = -1;
size_t towrite;
- int err;
if ((configFile = virDomainConfigFile(conn, configDir, def->name)) == NULL)
goto cleanup;
- if ((err = virFileMakePath(configDir))) {
+ if (virFileMakePath(configDir)) {
virReportSystemError(conn, errno,
_("cannot create config directory '%s'"),
configDir);
--
1.6.4.2.419.gab238
>From b9c2d697d732b4c740fd9e1f87ad135c52e02c34 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Fri, 4 Sep 2009 18:53:20 +0200
Subject: [PATCH 4/6] util.c: avoid dead store to "flag"
* src/util.c (virExecDaemonize): Change flag |= VAR to "flag | VAR".
---
src/util.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/util.c b/src/util.c
index 2529837..af50028 100644
--- a/src/util.c
+++ b/src/util.c
@@ -663,7 +663,7 @@ int virExecDaemonize(virConnectPtr conn,
ret = virExecWithHook(conn, argv, envp, keepfd, retpid,
infd, outfd, errfd,
- flags |= VIR_EXEC_DAEMON,
+ flags | VIR_EXEC_DAEMON,
hook, data, pidfile);
/* __virExec should have set an error */
--
1.6.4.2.419.gab238
>From 6470cb9312a13fd018fb83b79e66cb50190b1f4f Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Fri, 4 Sep 2009 19:36:17 +0200
Subject: [PATCH 5/6] iptables.c: remove dead store to "s"
* src/iptables.c (iptablesAddRemoveRule): Remove dead store.
---
src/iptables.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/iptables.c b/src/iptables.c
index 73b39d1..4562800 100644
--- a/src/iptables.c
+++ b/src/iptables.c
@@ -398,7 +398,7 @@ iptablesAddRemoveRule(iptRules *rules, int action, const char *arg, ...)
1; /* arg */
va_start(args, arg);
- while ((s = va_arg(args, const char *)))
+ while (va_arg(args, const char *))
n++;
va_end(args);
--
1.6.4.2.419.gab238
>From 65c10b030fb43d6678be9bd5eeeb326a024d6902 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Fri, 4 Sep 2009 19:37:37 +0200
Subject: [PATCH 6/6] network_driver.c: remove dead store to "err"
* src/network_driver.c (networkSetAutostart): ...and its decl.
---
src/network_driver.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/src/network_driver.c b/src/network_driver.c
index 84910ab..49855bf 100644
--- a/src/network_driver.c
+++ b/src/network_driver.c
@@ -1428,9 +1428,7 @@ static int networkSetAutostart(virNetworkPtr net,
goto cleanup;
if (autostart) {
- int err;
-
- if ((err = virFileMakePath(driver->networkAutostartDir))) {
+ if (virFileMakePath(driver->networkAutostartDir)) {
virReportSystemError(net->conn, errno,
_("cannot create autostart directory '%s'"),
driver->networkAutostartDir);
--
1.6.4.2.419.gab238
15 years, 2 months
[libvirt] [PATCH] xm_internal.c: remove dead store and associated leak
by Jim Meyering
This one took a little thinking.
I'm not 100% sure that the comment in my log is sufficient
justification for removing the virGetDomain call. If we leave it,
we'll have to free it and remove the XXX comment.
>From 324e07f17e6a2ed6df236af955adc693670d1b16 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Fri, 4 Sep 2009 19:46:59 +0200
Subject: [PATCH] xm_internal.c: remove dead store and associated leak
* src/xm_internal.c (xenXMDomainDefineXML): Dead store to "olddomain" --
and comment ;-) highlighted that the virGetDomain call represented a
leak. It was also useless, seeing as how preceding call to
virHashLookup(priv->nameConfigMap found def->name.
---
src/xm_internal.c | 5 -----
1 files changed, 0 insertions(+), 5 deletions(-)
diff --git a/src/xm_internal.c b/src/xm_internal.c
index de3aca9..e7f6a55 100644
--- a/src/xm_internal.c
+++ b/src/xm_internal.c
@@ -2532,7 +2532,6 @@ cleanup:
*/
virDomainPtr xenXMDomainDefineXML(virConnectPtr conn, const char *xml) {
virDomainPtr ret;
- virDomainPtr olddomain;
char filename[PATH_MAX];
const char * oldfilename;
virDomainDefPtr def = NULL;
@@ -2578,10 +2577,6 @@ virDomainPtr xenXMDomainDefineXML(virConnectPtr conn, const char *xml) {
goto error;
}
- /* XXX wtf.com is this line for - it appears to be amemory leak */
- if (!(olddomain = virGetDomain(conn, def->name, entry->def->uuid)))
- goto error;
-
/* Remove the name -> filename mapping */
if (virHashRemoveEntry(priv->nameConfigMap, def->name, NULL) < 0) {
xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
--
1.6.4.2.419.gab238
15 years, 2 months
[libvirt] [PATCH] network_conf.c: remove dead store to "err"
by Jim Meyering
>From 66133e3b9d80e9fadefd810786b0ff2f5c8e6875 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Fri, 4 Sep 2009 19:15:51 +0200
Subject: [PATCH] network_conf.c: remove dead store to "err"
* src/network_conf.c (virNetworkDefParseXML): ...and its decl.
---
src/network_conf.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/network_conf.c b/src/network_conf.c
index 58a4f32..3764bb4 100644
--- a/src/network_conf.c
+++ b/src/network_conf.c
@@ -1,7 +1,7 @@
/*
* network_conf.c: network XML handling
*
- * Copyright (C) 2006-2008 Red Hat, Inc.
+ * Copyright (C) 2006-2009 Red Hat, Inc.
* Copyright (C) 2006-2008 Daniel P. Berrange
*
* This library is free software; you can redistribute it and/or
@@ -329,8 +329,7 @@ virNetworkDefParseXML(virConnectPtr conn,
/* Extract network uuid */
tmp = virXPathString(conn, "string(./uuid[1])", ctxt);
if (!tmp) {
- int err;
- if ((err = virUUIDGenerate(def->uuid))) {
+ if (virUUIDGenerate(def->uuid)) {
virNetworkReportError(conn, VIR_ERR_INTERNAL_ERROR,
"%s", _("Failed to generate UUID"));
goto error;
--
1.6.4.2.409.g85dc3
15 years, 2 months
[libvirt] merge-commit push prohibition now in place, for master
by Jim Meyering
Just today we noticed that it was possible to
push accidental merge commits to "master".
While the commit hook to prevent that was in place,
the config setting to enable the hook for "master"
was missing. I've just done this on the server:
git --git-dir /git/libvirt.git config hooks.denymerge.master true
so *now*, we should be protected from ourselves.
15 years, 2 months
[libvirt] [PATCH] xend_internal.c: Remove two dead stores to "ret"
by Jim Meyering
>From 99610dd77b95914623bd78f2bcac5d15a6c87024 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Fri, 4 Sep 2009 19:14:09 +0200
Subject: [PATCH] xend_internal.c: Remove two dead stores to "ret"
* src/xend_internal.c (xenDaemonCreateXML): Don't set "ret" after
last use.
---
src/xend_internal.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/xend_internal.c b/src/xend_internal.c
index cf45cd6..2fa08f1 100644
--- a/src/xend_internal.c
+++ b/src/xend_internal.c
@@ -4028,10 +4028,10 @@ xenDaemonCreateXML(virConnectPtr conn, const char *xmlDesc,
if (!(dom = virDomainLookupByName(conn, def->name)))
goto error;
- if ((ret = xend_wait_for_devices(conn, def->name)) < 0)
+ if (xend_wait_for_devices(conn, def->name) < 0)
goto error;
- if ((ret = xenDaemonDomainResume(dom)) < 0)
+ if (xenDaemonDomainResume(dom) < 0)
goto error;
virDomainDefFree(def);
--
1.6.4.2.409.g85dc3
15 years, 2 months
[libvirt] [PATCH] openvz_driver.c: avoid dead store to "err"
by Jim Meyering
>From 559c1ba31a89fd3a6ed54631d5d900fa16140187 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Fri, 4 Sep 2009 19:11:31 +0200
Subject: [PATCH] openvz_driver.c: avoid dead store to "err"
* src/openvz_driver.c (openvzGenerateContainerVethName): Remove use
and decl of "err".
---
src/openvz_driver.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/src/openvz_driver.c b/src/openvz_driver.c
index 43d54f9..a8c24ba 100644
--- a/src/openvz_driver.c
+++ b/src/openvz_driver.c
@@ -504,11 +504,10 @@ openvzGenerateVethName(int veid, char *dev_name_ve)
static char *
openvzGenerateContainerVethName(int veid)
{
- int ret;
char temp[1024];
/* try to get line "^NETIF=..." from config */
- if ( (ret = openvzReadVPSConfigParam(veid, "NETIF", temp, sizeof(temp))) <= 0) {
+ if (openvzReadVPSConfigParam(veid, "NETIF", temp, sizeof(temp)) <= 0) {
snprintf(temp, sizeof(temp), "eth0");
} else {
char *saveptr;
--
1.6.4.2.409.g85dc3
15 years, 2 months