On Thu, Dec 03, 2020 at 13:36:25 +0100, Michal Privoznik wrote: > As advertised in the previous commit, we want' to be able to > change 'requested-size' attribute of virtio-mem on the fly. This > commit does exactly that. Changing anything else is checked for > and forbidden. > > Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> > --- > src/conf/domain_conf.c | 23 +++++ > src/conf/domain_conf.h | 3 + > src/libvirt_private.syms | 1 + > src/qemu/qemu_driver.c | 165 ++++++++++++++++++++++++++++++++++- > src/qemu/qemu_hotplug.c | 18 ++++ > src/qemu/qemu_hotplug.h | 5 ++ > src/qemu/qemu_monitor.c | 13 +++ > src/qemu/qemu_monitor.h | 4 + > src/qemu/qemu_monitor_json.c | 15 ++++ > src/qemu/qemu_monitor_json.h | 5 ++ > 10 files changed, 251 insertions(+), 1 deletion(-) > > diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c > index 0551f6f266..a4293f1749 100644 > --- a/src/conf/domain_conf.c > +++ b/src/conf/domain_conf.c > @@ -18762,6 +18762,29 @@ virDomainMemoryFindInactiveByDef(virDomainDefPtr def, > } > > > +ssize_t > +virDomainMemoryFindByDeviceInfo(virDomainDefPtr def, > + virDomainDeviceInfoPtr info) > +{ > + size_t i; > + > + for (i = 0; i < def->nmems; i++) { > + virDomainMemoryDefPtr tmp = def->mems[i]; > + > + if (!virDomainDeviceInfoAddressIsEqual(&tmp->info, info)) > + continue; > + > + /* alias, if present */ > + if (STRNEQ_NULLABLE(tmp->info.alias, info->alias)) This doesn't work as the comment expects it to: STRNEQ_NULLABLE(NULL, NULL) == false STRNEQ_NULLABLE("blah", NULL) == true STRNEQ_NULLABLE(NULL, "blah") == true STRNEQ_NULLABLE("blah", "blah") == false Since info->alias is always set, it would not skip the condition if the definition used for lookup didn't specify it. > + continue; > + > + return i; > + } > + > + return -1; > +} > + > + > /** > * virDomainMemoryInsert: > * [...]