[libvirt] [PATCH] Fix problems in the Xen inotify driver.

In xenInotifyXendDomainsDirLookup() the wrong UUID variable is used to search in the config info list. In xenInotifyEvent() the event is dispatched if it's NULL. Both were introduced in bc898df2c74fe3c8efedfbbd430737bac950e65e. --- src/xen/xen_inotify.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xen/xen_inotify.c b/src/xen/xen_inotify.c index 9e0407f..aa3893a 100644 --- a/src/xen/xen_inotify.c +++ b/src/xen/xen_inotify.c @@ -142,7 +142,7 @@ xenInotifyXendDomainsDirLookup(virConnectPtr conn, const char *filename, search for, and create a domain from the stored list info */ for (i = 0 ; i < priv->configInfoList->count ; i++) { - if (!memcmp(uuid, priv->configInfoList->doms[i]->uuid, VIR_UUID_BUFLEN)) { + if (!memcmp(rawuuid, priv->configInfoList->doms[i]->uuid, VIR_UUID_BUFLEN)) { *name = strdup(priv->configInfoList->doms[i]->name); if (!*name) { virXenInotifyError(NULL, VIR_ERR_INTERNAL_ERROR, @@ -332,7 +332,7 @@ reread: xenInotifyDomainEventFromFile(conn, fname, VIR_DOMAIN_EVENT_UNDEFINED, VIR_DOMAIN_EVENT_UNDEFINED_REMOVED); - if (!event) + if (event) xenUnifiedDomainEventDispatch(conn->privateData, event); else virXenInotifyError(NULL, VIR_ERR_INTERNAL_ERROR, -- 1.6.0.4

On Sat, Oct 24, 2009 at 07:30:12PM +0200, Matthias Bolte wrote:
In xenInotifyXendDomainsDirLookup() the wrong UUID variable is used to search in the config info list.
In xenInotifyEvent() the event is dispatched if it's NULL.
Both were introduced in bc898df2c74fe3c8efedfbbd430737bac950e65e. --- src/xen/xen_inotify.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/xen/xen_inotify.c b/src/xen/xen_inotify.c index 9e0407f..aa3893a 100644 --- a/src/xen/xen_inotify.c +++ b/src/xen/xen_inotify.c @@ -142,7 +142,7 @@ xenInotifyXendDomainsDirLookup(virConnectPtr conn, const char *filename, search for, and create a domain from the stored list info */ for (i = 0 ; i < priv->configInfoList->count ; i++) { - if (!memcmp(uuid, priv->configInfoList->doms[i]->uuid, VIR_UUID_BUFLEN)) { + if (!memcmp(rawuuid, priv->configInfoList->doms[i]->uuid, VIR_UUID_BUFLEN)) { *name = strdup(priv->configInfoList->doms[i]->name); if (!*name) { virXenInotifyError(NULL, VIR_ERR_INTERNAL_ERROR, @@ -332,7 +332,7 @@ reread: xenInotifyDomainEventFromFile(conn, fname, VIR_DOMAIN_EVENT_UNDEFINED, VIR_DOMAIN_EVENT_UNDEFINED_REMOVED); - if (!event) + if (event) xenUnifiedDomainEventDispatch(conn->privateData, event); else virXenInotifyError(NULL, VIR_ERR_INTERNAL_ERROR, --
ACK Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

On 10/24/2009 01:30 PM, Matthias Bolte wrote:
In xenInotifyXendDomainsDirLookup() the wrong UUID variable is used to search in the config info list.
In xenInotifyEvent() the event is dispatched if it's NULL.
Both were introduced in bc898df2c74fe3c8efedfbbd430737bac950e65e. --- src/xen/xen_inotify.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/xen/xen_inotify.c b/src/xen/xen_inotify.c index 9e0407f..aa3893a 100644 --- a/src/xen/xen_inotify.c +++ b/src/xen/xen_inotify.c @@ -142,7 +142,7 @@ xenInotifyXendDomainsDirLookup(virConnectPtr conn, const char *filename, search for, and create a domain from the stored list info */ for (i = 0 ; i < priv->configInfoList->count ; i++) { - if (!memcmp(uuid, priv->configInfoList->doms[i]->uuid, VIR_UUID_BUFLEN)) { + if (!memcmp(rawuuid, priv->configInfoList->doms[i]->uuid, VIR_UUID_BUFLEN)) { *name = strdup(priv->configInfoList->doms[i]->name); if (!*name) { virXenInotifyError(NULL, VIR_ERR_INTERNAL_ERROR, @@ -332,7 +332,7 @@ reread: xenInotifyDomainEventFromFile(conn, fname, VIR_DOMAIN_EVENT_UNDEFINED, VIR_DOMAIN_EVENT_UNDEFINED_REMOVED); - if (!event) + if (event) xenUnifiedDomainEventDispatch(conn->privateData, event); else virXenInotifyError(NULL, VIR_ERR_INTERNAL_ERROR,
ACK - Cole
participants (3)
-
Cole Robinson
-
Daniel P. Berrange
-
Matthias Bolte