On Thu, Mar 05, 2015 at 16:10:30 +0100, Pavel Hrdina wrote: > There was a mess in the way how we store unlimited value for memory > limits and how we handled values provided by user. Internally there > were two possible ways how to store unlimited value: as 0 value or as > VIR_DOMAIN_MEMORY_PARAM_UNLIMITED. Because we chose to store memory > limits as unsigned long long, we cannot use -1 to represent unlimited. > It's much easier for us to say that everything greater than > VIR_DOMAIN_MEMORY_PARAM_UNLIMITED means unlimited and leave 0 as valid > value despite that it makes no sense to set limit to 0. > > Remove unnecessary function virCompareLimitUlong. The update of test > is to prevent the 0 to be miss-used as unlimited in future. > > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1146539 > > Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> > --- > docs/formatdomain.html.in | 4 +- > src/conf/domain_conf.c | 75 +++++++++++++++++----- > src/libvirt-domain.c | 3 + > src/libvirt_private.syms | 1 - > src/lxc/lxc_cgroup.c | 18 +++--- > src/lxc/lxc_driver.c | 7 +- > src/lxc/lxc_fuse.c | 12 ++-- > src/lxc/lxc_native.c | 6 +- > src/openvz/openvz_conf.c | 4 +- > src/openvz/openvz_driver.c | 4 +- > src/qemu/qemu_cgroup.c | 24 +++---- > src/qemu/qemu_command.c | 8 ++- > src/qemu/qemu_driver.c | 10 +-- > src/qemu/qemu_hotplug.c | 2 +- > src/qemu/qemu_migration.c | 5 +- > src/util/virutil.c | 23 ------- > src/util/virutil.h | 2 - > tests/qemuxml2argvdata/qemuxml2argv-memtune.xml | 2 +- > .../qemuxml2xmloutdata/qemuxml2xmlout-memtune.xml | 2 +- > 19 files changed, 118 insertions(+), 94 deletions(-) > ... > diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c > index 20e40aa..782c13c 100644 > --- a/src/qemu/qemu_migration.c > +++ b/src/qemu/qemu_migration.c > @@ -2986,7 +2986,8 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver, > QEMU_MIGRATION_COOKIE_NBD))) > goto cleanup; > > - if (STREQ_NULLABLE(protocol, "rdma") && !vm->def->mem.hard_limit) { > + if (STREQ_NULLABLE(protocol, "rdma") && > + virMemoryLimitIsSet(vm->def->mem.hard_limit)) { You negated the condition above when adding the helper ... > virReportError(VIR_ERR_OPERATION_INVALID, "%s", > _("cannot start RDMA migration with no memory hard " > "limit set")); > @@ -4102,7 +4103,7 @@ static int doNativeMigrate(virQEMUDriverPtr driver, > "with this QEMU binary")); > goto cleanup; > } > - if (!vm->def->mem.hard_limit) { > + if (virMemoryLimitIsSet(vm->def->mem.hard_limit)) { ... here too. > virReportError(VIR_ERR_OPERATION_INVALID, "%s", > _("cannot start RDMA migration with no memory hard " > "limit set")); ACK if you fix the two conditions above. Peter
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list