Roman Bogorodskiy wrote: > Martin Kletzander wrote: > > > There were numerous places where numatune configuration (and thus > > domain config as well) was changed in different ways. On some > > places this even resulted in persistent domain definition not to be > > stable (it would change with daemon's restart). > > > > In order to uniformly change how numatune config is dealt with, all > > the internals are now accessible directly only in numatune_conf.c and > > outside this file accessors must be used. > > > > Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> > > --- > > po/POTFILES.in | 1 + > > src/conf/domain_conf.c | 159 ++--------- > > src/conf/domain_conf.h | 8 +- > > src/conf/numatune_conf.c | 318 +++++++++++++++++++++ > > src/conf/numatune_conf.h | 72 ++++- > > src/libvirt_private.syms | 11 + > > src/lxc/lxc_cgroup.c | 19 +- > > src/lxc/lxc_controller.c | 5 +- > > src/lxc/lxc_native.c | 15 +- > > src/parallels/parallels_driver.c | 7 +- > > src/qemu/qemu_cgroup.c | 23 +- > > src/qemu/qemu_driver.c | 84 +++--- > > src/qemu/qemu_process.c | 8 +- > > src/util/virnuma.c | 48 ++-- > > src/util/virnuma.h | 2 +- > > .../qemuxml2argv-numatune-auto-prefer.xml | 29 ++ > > .../qemuxml2xmlout-numatune-auto-prefer.xml | 29 ++ > > tests/qemuxml2xmltest.c | 2 + > > 18 files changed, 555 insertions(+), 285 deletions(-) > > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-prefer.xml > > create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-numatune-auto-prefer.xml > > Looks like this breaks build with clang: > > gmake[3]: Entering directory `/usr/home/novel/code/libvirt/src' > CC util/libvirt_util_la-virclosecallbacks.lo > In file included from util/virclosecallbacks.c:28: > In file included from ../src/util/virclosecallbacks.h:28: > ../src/conf/domain_conf.h:70:35: error: redefinition of typedef 'virDomainNumatune' is a C11 feature [-Werror,-Wtypedef-redefinition] > typedef struct _virDomainNumatune virDomainNumatune; > ^ > ../src/conf/numatune_conf.h:43:35: note: previous definition is here > typedef struct _virDomainNumatune virDomainNumatune; > ^ > In file included from util/virclosecallbacks.c:28: > In file included from ../src/util/virclosecallbacks.h:28: > ../src/conf/domain_conf.h:71:28: error: redefinition of typedef 'virDomainNumatunePtr' is a C11 feature [-Werror,-Wtypedef-redefinition] > typedef virDomainNumatune *virDomainNumatunePtr; > ^ > ../src/conf/numatune_conf.h:44:28: note: previous definition is here > typedef virDomainNumatune *virDomainNumatunePtr; > ^ > In file included from util/virclosecallbacks.c:28: > In file included from ../src/util/virclosecallbacks.h:28: > ../src/conf/domain_conf.h:1857:30: error: redefinition of typedef 'virDomainDef' is a C11 feature [-Werror,-Wtypedef-redefinition] > typedef struct _virDomainDef virDomainDef; > ^ > ../src/conf/numatune_conf.h:39:30: note: previous definition is here > typedef struct _virDomainDef virDomainDef; > ^ > In file included from util/virclosecallbacks.c:28: > In file included from ../src/util/virclosecallbacks.h:28: > ../src/conf/domain_conf.h:1858:23: error: redefinition of typedef 'virDomainDefPtr' is a C11 feature [-Werror,-Wtypedef-redefinition] > typedef virDomainDef *virDomainDefPtr; > ^ > ../src/conf/numatune_conf.h:40:23: note: previous definition is here > typedef virDomainDef *virDomainDefPtr; > ^ > 4 errors generated. > > Should we probably drop the repeating definitions from domain_conf.h as > we're including numatune_conf.h anyway? I got it fixed by the following diff: diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 4c9b7e8..e4d7988 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -67,9 +67,6 @@ typedef virDomainFSDef *virDomainFSDefPtr; typedef struct _virDomainNetDef virDomainNetDef; typedef virDomainNetDef *virDomainNetDefPtr; -typedef struct _virDomainNumatune virDomainNumatune; -typedef virDomainNumatune *virDomainNumatunePtr; - typedef struct _virDomainInputDef virDomainInputDef; typedef virDomainInputDef *virDomainInputDefPtr; @@ -1854,8 +1851,6 @@ struct _virDomainResourceDef { * NB: if adding to this struct, virDomainDefCheckABIStability * may well need an update */ -typedef struct _virDomainDef virDomainDef; -typedef virDomainDef *virDomainDefPtr; struct _virDomainDef { int virtType; int id; I didn't check it beyond build and check/syntax-check though. Anyway, it doesn't look quite clean to have typedefs in numatune_conf.h for the struct declared in domain_conf.h. Roman Bogorodskiy
Attachment:
pgpvFdG3QLfJ0.pgp
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list