Re: [PATCH] openvz: Handle domain obj hash map errors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2012年07月10日 13:21, Guido Günther wrote:
This makes the driver fail with a clear error message in case of uuid
collisions (for example if somebody copied a container configuration
without updating the UUID).

OpenVZ itself doesn't complain about duplicate UUIDs since this
parameter is only used by libvirt.
---
  src/openvz/openvz_conf.c |    5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/openvz/openvz_conf.c b/src/openvz/openvz_conf.c
index 503c8a0..0764c2c 100644
--- a/src/openvz/openvz_conf.c
+++ b/src/openvz/openvz_conf.c
@@ -684,8 +684,11 @@ int openvzLoadDomains(struct openvz_driver *driver) {
          openvzReadMemConf(dom->def, veid);

          virUUIDFormat(dom->def->uuid, uuidstr);
-        if (virHashAddEntry(driver->domains.objs, uuidstr, dom)<  0)
+        if (virHashAddEntry(driver->domains.objs, uuidstr, dom)<  0) {
+            openvzError(VIR_ERR_INTERNAL_ERROR,
+                        _("Could not add UUID for container %d"), veid);
              goto cleanup;
+        }

It's good to have a clear error for the UUID collisions, but
it's not the only reason for failure of virHashAddEntry. It
could be the memory allocation error too. So The better fix
is to check the UUID duplication explicitly with virHashLookup
before adding it to the table, (virHashAddOrUpdateEntry reports
the memory allocation error anyway, so we just need to care
about the UUID conllisions, and actually the memory error
could be overriden with this patch).

Regards,
Osier

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]