[libvirt] [PATCH 1/4] parallels: remove unused member 'os' from parallelsDomObj

Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com> --- src/parallels/parallels_utils.h | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/src/parallels/parallels_utils.h b/src/parallels/parallels_utils.h index 082ee75..6a27003 100644 --- a/src/parallels/parallels_utils.h +++ b/src/parallels/parallels_utils.h @@ -44,7 +44,6 @@ typedef struct _parallelsConn *parallelsConnPtr; struct parallelsDomObj { int id; char *uuid; - char *os; }; typedef struct parallelsDomObj *parallelsDomObjPtr; -- 1.7.1

size of videos array must be increased. Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com> --- src/parallels/parallels_driver.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/parallels/parallels_driver.c b/src/parallels/parallels_driver.c index 20ee361..87e8cf5 100644 --- a/src/parallels/parallels_driver.c +++ b/src/parallels/parallels_driver.c @@ -277,7 +277,7 @@ parallelsAddVideoInfo(virDomainDefPtr def, virJSONValuePtr value) if (VIR_ALLOC(accel) < 0) goto no_memory; - if (VIR_REALLOC_N(def->videos, def->nvideos) < 0) + if (VIR_REALLOC_N(def->videos, def->nvideos + 1) < 0) goto no_memory; def->videos[def->nvideos++] = video; -- 1.7.1

On Wed, Sep 26, 2012 at 04:30:00PM +0400, Dmitry Guryanov wrote:
size of videos array must be increased.
Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com> --- src/parallels/parallels_driver.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/parallels/parallels_driver.c b/src/parallels/parallels_driver.c index 20ee361..87e8cf5 100644 --- a/src/parallels/parallels_driver.c +++ b/src/parallels/parallels_driver.c @@ -277,7 +277,7 @@ parallelsAddVideoInfo(virDomainDefPtr def, virJSONValuePtr value) if (VIR_ALLOC(accel) < 0) goto no_memory;
- if (VIR_REALLOC_N(def->videos, def->nvideos) < 0) + if (VIR_REALLOC_N(def->videos, def->nvideos + 1) < 0) goto no_memory;
def->videos[def->nvideos++] = video;
It is actually preferrable to use VIR_EXPAND_N here, eg if (VIR_EXPAND_N(def->videos, def->nvideos, 1) < 0) goto no_memory; def->videos[def->nvideos - 1] = video; NB VIR_EXPAND_N actually changes the 'nvideos' param for you Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

On 120926 16:33:28, Daniel P. Berrange wrote:
On Wed, Sep 26, 2012 at 04:30:00PM +0400, Dmitry Guryanov wrote:
size of videos array must be increased.
Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com> --- src/parallels/parallels_driver.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/parallels/parallels_driver.c b/src/parallels/parallels_driver.c index 20ee361..87e8cf5 100644 --- a/src/parallels/parallels_driver.c +++ b/src/parallels/parallels_driver.c @@ -277,7 +277,7 @@ parallelsAddVideoInfo(virDomainDefPtr def, virJSONValuePtr value) if (VIR_ALLOC(accel) < 0) goto no_memory;
- if (VIR_REALLOC_N(def->videos, def->nvideos) < 0) + if (VIR_REALLOC_N(def->videos, def->nvideos + 1) < 0) goto no_memory;
def->videos[def->nvideos++] = video;
It is actually preferrable to use VIR_EXPAND_N here, eg
if (VIR_EXPAND_N(def->videos, def->nvideos, 1) < 0) goto no_memory;
def->videos[def->nvideos - 1] = video;
NB VIR_EXPAND_N actually changes the 'nvideos' param for you
Thanks, Daniel ! Since the patches doesn't depend on each other, I'll resend this patch only.
Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

On 120926 16:33:28, Daniel P. Berrange wrote:
On Wed, Sep 26, 2012 at 04:30:00PM +0400, Dmitry Guryanov wrote:
size of videos array must be increased.
Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com> --- src/parallels/parallels_driver.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/parallels/parallels_driver.c b/src/parallels/parallels_driver.c index 20ee361..87e8cf5 100644 --- a/src/parallels/parallels_driver.c +++ b/src/parallels/parallels_driver.c @@ -277,7 +277,7 @@ parallelsAddVideoInfo(virDomainDefPtr def, virJSONValuePtr value) if (VIR_ALLOC(accel) < 0) goto no_memory;
- if (VIR_REALLOC_N(def->videos, def->nvideos) < 0) + if (VIR_REALLOC_N(def->videos, def->nvideos + 1) < 0) goto no_memory;
def->videos[def->nvideos++] = video;
It is actually preferrable to use VIR_EXPAND_N here, eg
if (VIR_EXPAND_N(def->videos, def->nvideos, 1) < 0) goto no_memory;
def->videos[def->nvideos - 1] = video;
NB VIR_EXPAND_N actually changes the 'nvideos' param for you
VIR_EXPAND_N expects size_t, but fields storing numbers of devices in virDomainDef have type int, so the error occur: parallels/parallels_driver.c:280: error: passing argument 3 of 'virExpandN' from incompatible pointer type ../src/util/memory.h:55: note: expected 'size_t *' but argument is of type 'int *'
Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

On Wed, Sep 26, 2012 at 04:53:07PM +0400, Dmitry Guryanov wrote:
On 120926 16:33:28, Daniel P. Berrange wrote:
On Wed, Sep 26, 2012 at 04:30:00PM +0400, Dmitry Guryanov wrote:
size of videos array must be increased.
Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com> --- src/parallels/parallels_driver.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/parallels/parallels_driver.c b/src/parallels/parallels_driver.c index 20ee361..87e8cf5 100644 --- a/src/parallels/parallels_driver.c +++ b/src/parallels/parallels_driver.c @@ -277,7 +277,7 @@ parallelsAddVideoInfo(virDomainDefPtr def, virJSONValuePtr value) if (VIR_ALLOC(accel) < 0) goto no_memory;
- if (VIR_REALLOC_N(def->videos, def->nvideos) < 0) + if (VIR_REALLOC_N(def->videos, def->nvideos + 1) < 0) goto no_memory;
def->videos[def->nvideos++] = video;
It is actually preferrable to use VIR_EXPAND_N here, eg
if (VIR_EXPAND_N(def->videos, def->nvideos, 1) < 0) goto no_memory;
def->videos[def->nvideos - 1] = video;
NB VIR_EXPAND_N actually changes the 'nvideos' param for you
VIR_EXPAND_N expects size_t, but fields storing numbers of devices in virDomainDef have type int, so the error occur:
parallels/parallels_driver.c:280: error: passing argument 3 of 'virExpandN' from incompatible pointer type ../src/util/memory.h:55: note: expected 'size_t *' but argument is of type 'int *'
Urgh, I forgot about this. ACK to your first patch. We'll clean up this mess another time. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

On 09/26/2012 07:01 AM, Daniel P. Berrange wrote:
On Wed, Sep 26, 2012 at 04:53:07PM +0400, Dmitry Guryanov wrote:
It is actually preferrable to use VIR_EXPAND_N here, eg
if (VIR_EXPAND_N(def->videos, def->nvideos, 1) < 0) goto no_memory;
def->videos[def->nvideos - 1] = video;
NB VIR_EXPAND_N actually changes the 'nvideos' param for you
VIR_EXPAND_N expects size_t, but fields storing numbers of devices in virDomainDef have type int, so the error occur:
parallels/parallels_driver.c:280: error: passing argument 3 of 'virExpandN' from incompatible pointer type ../src/util/memory.h:55: note: expected 'size_t *' but argument is of type 'int *'
That just says you should be using size_t in your struct, rather than int. But like Daniel says, this can be a later cleanup.
Urgh, I forgot about this. ACK to your first patch.
I've pushed these four patches, as-is. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On Wed, Sep 26, 2012 at 09:00:06AM -0600, Eric Blake wrote:
On 09/26/2012 07:01 AM, Daniel P. Berrange wrote:
On Wed, Sep 26, 2012 at 04:53:07PM +0400, Dmitry Guryanov wrote:
It is actually preferrable to use VIR_EXPAND_N here, eg
if (VIR_EXPAND_N(def->videos, def->nvideos, 1) < 0) goto no_memory;
def->videos[def->nvideos - 1] = video;
NB VIR_EXPAND_N actually changes the 'nvideos' param for you
VIR_EXPAND_N expects size_t, but fields storing numbers of devices in virDomainDef have type int, so the error occur:
parallels/parallels_driver.c:280: error: passing argument 3 of 'virExpandN' from incompatible pointer type ../src/util/memory.h:55: note: expected 'size_t *' but argument is of type 'int *'
That just says you should be using size_t in your struct, rather than int. But like Daniel says, this can be a later cleanup.
NB, the flaw wasn't in parallels code - it is actually in our common domain_conf.h file Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

scmd was used for debugging and I forgot to remove it before commit, so remove it now. Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com> --- src/parallels/parallels_utils.c | 6 ------ 1 files changed, 0 insertions(+), 6 deletions(-) diff --git a/src/parallels/parallels_utils.c b/src/parallels/parallels_utils.c index 89a0d89..521fd97 100644 --- a/src/parallels/parallels_utils.c +++ b/src/parallels/parallels_utils.c @@ -37,23 +37,17 @@ static int parallelsDoCmdRun(char **outbuf, const char *binary, va_list list) { virCommandPtr cmd = virCommandNewVAList(binary, list); - char *scmd = NULL; int ret = -1; if (outbuf) virCommandSetOutputBuffer(cmd, outbuf); - scmd = virCommandToString(cmd); - if (!scmd) - goto cleanup; - if (virCommandRun(cmd, NULL)) goto cleanup; ret = 0; cleanup: - VIR_FREE(scmd); virCommandFree(cmd); if (ret && outbuf) VIR_FREE(*outbuf); -- 1.7.1

On Wed, Sep 26, 2012 at 04:30:01PM +0400, Dmitry Guryanov wrote:
scmd was used for debugging and I forgot to remove it before commit, so remove it now.
Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com> --- src/parallels/parallels_utils.c | 6 ------ 1 files changed, 0 insertions(+), 6 deletions(-)
diff --git a/src/parallels/parallels_utils.c b/src/parallels/parallels_utils.c index 89a0d89..521fd97 100644 --- a/src/parallels/parallels_utils.c +++ b/src/parallels/parallels_utils.c @@ -37,23 +37,17 @@ static int parallelsDoCmdRun(char **outbuf, const char *binary, va_list list) { virCommandPtr cmd = virCommandNewVAList(binary, list); - char *scmd = NULL; int ret = -1;
if (outbuf) virCommandSetOutputBuffer(cmd, outbuf);
- scmd = virCommandToString(cmd); - if (!scmd) - goto cleanup; - if (virCommandRun(cmd, NULL)) goto cleanup;
ret = 0;
cleanup: - VIR_FREE(scmd); virCommandFree(cmd); if (ret && outbuf) VIR_FREE(*outbuf);
ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com> --- src/parallels/parallels_driver.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/parallels/parallels_driver.c b/src/parallels/parallels_driver.c index 87e8cf5..f4799f3 100644 --- a/src/parallels/parallels_driver.c +++ b/src/parallels/parallels_driver.c @@ -1445,7 +1445,9 @@ parallelsApplyChanges(virDomainObjPtr dom, virDomainDefPtr new) return -1; } - if (!virBitmapEqual(old->cpumask, new->cpumask)) { + if ((old->cpumask != NULL || new->cpumask != NULL) && + (old->cpumask == NULL || new->cpumask == NULL || + !virBitmapEqual(old->cpumask, new->cpumask))) { virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s", _("changing cpu mask is not supported " @@ -1465,7 +1467,9 @@ parallelsApplyChanges(virDomainObjPtr dom, virDomainDefPtr new) if (old->numatune.memory.mode != new->numatune.memory.mode || old->numatune.memory.placement_mode != new->numatune.memory.placement_mode || - !virBitmapEqual(old->numatune.memory.nodemask, new->numatune.memory.nodemask)) { + ((old->numatune.memory.nodemask != NULL || new->numatune.memory.nodemask != NULL) && + (old->numatune.memory.nodemask == NULL || new->numatune.memory.nodemask == NULL || + !virBitmapEqual(old->numatune.memory.nodemask, new->numatune.memory.nodemask)))){ virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s", _("numa parameters are not supported " -- 1.7.1

On Wed, Sep 26, 2012 at 04:30:02PM +0400, Dmitry Guryanov wrote:
Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com> --- src/parallels/parallels_driver.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/parallels/parallels_driver.c b/src/parallels/parallels_driver.c index 87e8cf5..f4799f3 100644 --- a/src/parallels/parallels_driver.c +++ b/src/parallels/parallels_driver.c @@ -1445,7 +1445,9 @@ parallelsApplyChanges(virDomainObjPtr dom, virDomainDefPtr new) return -1; }
- if (!virBitmapEqual(old->cpumask, new->cpumask)) { + if ((old->cpumask != NULL || new->cpumask != NULL) && + (old->cpumask == NULL || new->cpumask == NULL || + !virBitmapEqual(old->cpumask, new->cpumask))) {
virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s", _("changing cpu mask is not supported " @@ -1465,7 +1467,9 @@ parallelsApplyChanges(virDomainObjPtr dom, virDomainDefPtr new)
if (old->numatune.memory.mode != new->numatune.memory.mode || old->numatune.memory.placement_mode != new->numatune.memory.placement_mode || - !virBitmapEqual(old->numatune.memory.nodemask, new->numatune.memory.nodemask)) { + ((old->numatune.memory.nodemask != NULL || new->numatune.memory.nodemask != NULL) && + (old->numatune.memory.nodemask == NULL || new->numatune.memory.nodemask == NULL || + !virBitmapEqual(old->numatune.memory.nodemask, new->numatune.memory.nodemask)))){
virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s", _("numa parameters are not supported "
ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

On Wed, Sep 26, 2012 at 04:29:59PM +0400, Dmitry Guryanov wrote:
Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com> --- src/parallels/parallels_utils.h | 1 - 1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/src/parallels/parallels_utils.h b/src/parallels/parallels_utils.h index 082ee75..6a27003 100644 --- a/src/parallels/parallels_utils.h +++ b/src/parallels/parallels_utils.h @@ -44,7 +44,6 @@ typedef struct _parallelsConn *parallelsConnPtr; struct parallelsDomObj { int id; char *uuid; - char *os; };
typedef struct parallelsDomObj *parallelsDomObjPtr;
ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
participants (3)
-
Daniel P. Berrange
-
Dmitry Guryanov
-
Eric Blake