Devel
Threads by month
- ----- 2026 -----
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- 27 participants
- 40187 discussions
04 Aug '15
Resolve a couple of issues regarding failures seen configuring a disk
to be a type='volume' device='lun'. The doc patch just indicates that
using an NPIV storage/source pool is a valid option. The second patch
allows for a "clearer" error message to be reported.
John Ferlan (2):
docs: Add Fibre Channel NPIV supported option for volume lun config
conf: Allow error reporting in virDomainDiskSourceIsBlockType
docs/formatdomain.html.in | 6 ++++--
src/conf/domain_conf.c | 21 ++++++++++++++++++---
src/conf/domain_conf.h | 2 +-
src/lxc/lxc_cgroup.c | 2 +-
src/lxc/lxc_driver.c | 6 ++----
src/qemu/qemu_command.c | 5 +----
src/qemu/qemu_conf.c | 6 +++---
7 files changed, 30 insertions(+), 18 deletions(-)
--
2.1.0
2
6
[libvirt] [PATCH] tests: extend workaround for gnutls private key loading failure
by Daniel P. Berrange 04 Aug '15
by Daniel P. Berrange 04 Aug '15
04 Aug '15
In gnutls 3.4.3 there is a regression in the loading of private
keys via gnutls_x509_privkey_import. We already have a workaround
to deal with failures on older gnutls, but the error code that
the new gnutls returns is different. Extend the workaround so that
is checks for GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE too.
See also gnutls https://bugzilla.redhat.com/show_bug.cgi?id=1250020
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
tests/virnettlshelpers.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Pushed as a build fix
diff --git a/tests/virnettlshelpers.c b/tests/virnettlshelpers.c
index 6e667d1..531d0b9 100644
--- a/tests/virnettlshelpers.c
+++ b/tests/virnettlshelpers.c
@@ -84,7 +84,8 @@ static gnutls_x509_privkey_t testTLSLoadKey(void)
if ((err = gnutls_x509_privkey_import(key, &data,
GNUTLS_X509_FMT_PEM)) < 0) {
- if (err != GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR) {
+ if (err != GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR &&
+ err != GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
VIR_WARN("Failed to import key %s", gnutls_strerror(err));
abort();
}
--
2.4.3
1
0
04 Aug '15
This is an attempt to fix:
Libvirt BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1180486
Libvirt currently assumes ISA_based floppy disks to be available across all
architectures and machine types. However, PowerPC Book 3S compatible ('ie pseries)
virtual machines do not support Floppy disks.
This patch series prevents libvirt from launching ppc64[le] -based 'pseries'
VMs with floppy devices.
This version of patch attempts to fulfill the coments of Andrea Bolognani
and Jan Tomko on previous version of patch.
---
Kothapally Madhu Pavan (3):
Caps: Disable floppy disk for PowerPC VM
Avoid starting a PowerPC VM with floppy disk
test: Introduce test case to disallow floppy disk on pseries
src/qemu/qemu_capabilities.c | 15 +++++--
src/qemu/qemu_command.c | 8 ++++
.../qemuxml2argv-disk-floppy-pseries.args | 6 +++
.../qemuxml2argv-disk-floppy-pseries.xml | 41 ++++++++++++++++++++
tests/qemuxml2argvtest.c | 1
5 files changed, 67 insertions(+), 4 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-pseries.xml
--
Kothapally Madhu Pavan
3
6
[libvirt] [PATCH 00/13] Move generic virsh data to a separate module vsh
by Erik Skultety 04 Aug '15
by Erik Skultety 04 Aug '15
04 Aug '15
The idea behind this is that in order to introduce virt-admin client (and later
some commands/APIs), there are lots of methods in virsh that can be easily
reused by other potential clients like command and command argument passing or
error reporting.
!!! IMPORTANT !!!
These patches cannot be compiled separately, the series is split more or
less logically into chunks only to be more readable by the reviewer.
I started this at least 4 times from scratch and still haven't found a way that
splitting virsh could be done with several independent applicable commits, rather
than having one massive commit in the end.
Erik Skultety (13):
tools: Introduce new client generic module vsh
vsh: Remove client specific data, only generic data are kept
tools: apply s/vshX/virshX to all virsh specific data
virsh: remove generic data, only client specific are kept
virsh: Rename client specific methods in virsh.h
vsh: vshControl now includes client private data and client specific
progname
vsh: Make use of introduced private data
vsh: Introduce client hooks
vsh: Make use of newly introduced client side hooks
vsh: Introduce new global initializer
vsh: Make separated generic methods public
virsh: Introduce connection handler
tools: Update makefile to include 'vsh' sources as well
cfg.mk | 2 +-
po/POTFILES.in | 3 +-
tools/Makefile.am | 4 +
tools/virsh-console.c | 13 +-
tools/virsh-console.h | 8 +-
tools/virsh-domain-monitor.c | 201 ++--
tools/virsh-domain-monitor.h | 4 +-
tools/virsh-domain.c | 532 +++++----
tools/virsh-domain.h | 14 +-
tools/virsh-edit.c | 8 +-
tools/virsh-host.c | 131 ++-
tools/virsh-interface.c | 80 +-
tools/virsh-interface.h | 12 +-
tools/virsh-network.c | 72 +-
tools/virsh-network.h | 10 +-
tools/virsh-nodedev.c | 37 +-
tools/virsh-nwfilter.c | 33 +-
tools/virsh-nwfilter.h | 10 +-
tools/virsh-pool.c | 104 +-
tools/virsh-pool.h | 10 +-
tools/virsh-secret.c | 27 +-
tools/virsh-snapshot.c | 75 +-
tools/virsh-volume.c | 103 +-
tools/virsh-volume.h | 14 +-
tools/virsh.c | 2673 ++++--------------------------------------
tools/virsh.h | 481 +-------
tools/vsh.c | 2332 ++++++++++++++++++++++++++++++++++++
tools/vsh.h | 489 ++++++++
28 files changed, 3906 insertions(+), 3576 deletions(-)
create mode 100644 tools/vsh.c
create mode 100644 tools/vsh.h
--
1.9.3
3
20
Hello All,
I am getting build failures on the latest build, and it is currently
blocking my commit of the update. Looks like xhtml, is a new build
requirement. I added it to the list of dependencies, however it is failing
to build within our build cluster.
http://meatwad.mouf.net/rubick/poudriere/data/93i386-jgh/2015-07-27_15h41m2…
(also attached for historical purposes)
I am able to get this to build locally, but trying to distinguish what is
different compared with a clean system.
Here is the listing of files contained in the xhtml package:
xhtml-1.0.20020801_4:
/usr/local/share/xml/dtd/xhtml/catalog.xml
/usr/local/share/xml/dtd/xhtml/xhtml-dcl.soc
/usr/local/share/xml/dtd/xhtml/xhtml-lat1.ent
/usr/local/share/xml/dtd/xhtml/xhtml-special.ent
/usr/local/share/xml/dtd/xhtml/xhtml-symbol.ent
/usr/local/share/xml/dtd/xhtml/xhtml.soc
/usr/local/share/xml/dtd/xhtml/xhtml1-frameset.dtd
/usr/local/share/xml/dtd/xhtml/xhtml1-strict.dtd
/usr/local/share/xml/dtd/xhtml/xhtml1-transitional.dtd
/usr/local/share/xml/dtd/xhtml/xhtml1.dcl
Thanks in advance!
Jason
--
Jason Helfman | FreeBSD Committer
jgh(a)FreeBSD.org | http://people.freebsd.org/~jgh | The Power to Serve
2
3
03 Aug '15
Only patch 1/5 has been updated, all the other patches
are the same as v8:
2/5 https://www.redhat.com/archives/libvir-list/2015-July/msg01045.html
3/5 https://www.redhat.com/archives/libvir-list/2015-July/msg01048.html
4/5 https://www.redhat.com/archives/libvir-list/2015-July/msg01049.html
5/5 https://www.redhat.com/archives/libvir-list/2015-July/msg01050.html
I'm including the full history below.
Cheers.
Changes in v11:
* don't declare variables only used inside a code block
guarded by #ifdef outside of said code block
* use virBitmapNextSetBit() instead of going through
all possible index values and calling
virBitmapIsBitSet() for each one
Changes in v10:
* don't attempt to close a file that wasn't opened
* report a detailed error to help with diagnosis
Changes in v9:
* take into account the fact that kvm might not be loaded
or even installed
Changes in v8:
* shortened test names so that make dist doesn't
stop working again
Changes in v7:
* rebased on top of master now that the series this one
builds on have been merged
Changes in v6:
* updated to work on top of
[PATCH v2 00/10] nodeinfo: Various cleanups
Changes in v5:
* streamlined the logic used to decide whether the subcore
configuration is valid and moved it to a separate function
* split the tests into separate commits for easier review and
to hopefully avoid having trouble with the list due to the
message size
Changes in v4:
* removed a printf() statement
* fixed typo in a commit message
Changes in v3:
* the function to get the number of threads per subcore
has been moved to the from virarch.c, which deals with
architecture names only and is therefore not the right
place to read host configuration, to nodeinfo.c where
the rest of this stuff lives
* said function has also been given a shorter name
* the "valid subcore mode" boolean has been removed:
threads_per_subcore will be a positive number if
subcores should be taken into account, and if that's
not the case (x86 host, tainted configuration) it
will simply be zero, so now the code needs to keep
track of a single variable instead of two
* the test case has been renamed to be more
descriptive
* the test data has been cleaned up by removing all
cpu/cpu*/node* links, which prevented 'make dist'
from working due to recursive linking
Andrea Bolognani (3):
tests: Add subcores1 nodeinfo test
tests: Add subcores2 nodeinfo test
tests: Add subcores3 nodeinfo test
Shivaprasad G Bhat (2):
nodeinfo: Fix output on PPC64 KVM hosts
tests: Prepare for subcore tests
src/libvirt_private.syms | 1 +
src/nodeinfo.c | 153 ++++++++++++++++++++-
src/nodeinfo.h | 1 +
tests/Makefile.am | 6 +
[...]
tests/nodeinfomock.c | 35 +++++
tests/nodeinfotest.c | 8 +-
1348 files changed, 2134 insertions(+), 6 deletions(-)
[...]
create mode 100644 tests/nodeinfomock.c
--
2.4.3
2
3
[libvirt] [PATCH] nodeinfo: Fix build failure when KVM headers are not available
by Andrea Bolognani 03 Aug '15
by Andrea Bolognani 03 Aug '15
03 Aug '15
Compiler error:
../../src/nodeinfo.c: In function 'nodeGetThreadsPerSubcore':
../../src/nodeinfo.c:2393: error: label 'out' defined but not used [-Wunused-label]
../../src/nodeinfo.c:2352: error: unused parameter 'arch' [-Wunused-parameter]
---
src/nodeinfo.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/src/nodeinfo.c b/src/nodeinfo.c
index 7da055c..6ccada5 100644
--- a/src/nodeinfo.c
+++ b/src/nodeinfo.c
@@ -2341,6 +2341,8 @@ nodeAllocPages(unsigned int npages,
return ret;
}
+#if HAVE_LINUX_KVM_H && defined(KVM_CAP_PPC_SMT)
+
/* Get the number of threads per subcore.
*
* This will be 2, 4 or 8 on POWER hosts, depending on the current
@@ -2352,8 +2354,6 @@ int
nodeGetThreadsPerSubcore(virArch arch)
{
int threads_per_subcore = 0;
-
-#if HAVE_LINUX_KVM_H && defined(KVM_CAP_PPC_SMT)
const char *kvmpath = "/dev/kvm";
int kvmfd;
@@ -2388,8 +2388,19 @@ nodeGetThreadsPerSubcore(virArch arch)
VIR_FORCE_CLOSE(kvmfd);
}
-#endif /* HAVE_LINUX_KVM_H && defined(KVM_CAP_PPC_SMT) */
out:
return threads_per_subcore;
}
+
+#else
+
+/* Fallback for nodeGetThreadsPerSubcore() used when KVM headers
+ * are not available on the system */
+int
+nodeGetThreadsPerSubcore(virArch arch ATTRIBUTE_UNUSED)
+{
+ return 0;
+}
+
+#endif /* HAVE_LINUX_KVM_H && defined(KVM_CAP_PPC_SMT) */
--
2.4.3
2
1
The virDomainObjListRemove() function unlocks a domain that it's given
due to legacy code. And because of that code, which should be
refactored, that last virObjectUnlock() cannot be just removed. So
instead, lock it right back for qemu for now. All calls to
qemuDomainRemoveInactive() are followed by code that unlocks the domain
again, plus the domain should be locked during qemuDomainObjEndJob(), so
the right place to lock it is right after virDomainObjListRemove().
The only place where this would cause a problem is the autodestroy
callback, so we need to get another reference there and uref+unlock it
afterwards. Luckily, returning NULL from that function doesn't mean an
error, and only means that it doesn't need to be unlocked anymore.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
src/qemu/qemu_domain.c | 7 +++++++
src/qemu/qemu_process.c | 7 ++++---
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 8b050a043995..d6d723112638 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -2593,6 +2593,13 @@ qemuDomainRemoveInactive(virQEMUDriverPtr driver,
virObjectRef(vm);
virDomainObjListRemove(driver->domains, vm);
+ /*
+ * virDomainObjListRemove() leaves the domain unlocked so it can
+ * be unref'd for other drivers that depend on that, but we still
+ * need to reset a job and we have a reference from the API that
+ * called this function. So we need to lock it back.
+ */
+ virObjectLock(vm);
virObjectUnref(cfg);
if (haveJob)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 1c0c734c3811..df38dacdca92 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -5696,6 +5696,8 @@ qemuProcessAutoDestroy(virDomainObjPtr dom,
VIR_DEBUG("vm=%s, conn=%p", dom->def->name, conn);
+ virObjectRef(dom);
+
if (priv->job.asyncJob) {
VIR_DEBUG("vm=%s has long-term job active, cancelling",
dom->def->name);
@@ -5718,15 +5720,14 @@ qemuProcessAutoDestroy(virDomainObjPtr dom,
qemuDomainObjEndJob(driver, dom);
- if (!dom->persistent) {
+ if (!dom->persistent)
qemuDomainRemoveInactive(driver, dom);
- dom = NULL;
- }
if (event)
qemuDomainEventQueue(driver, event);
cleanup:
+ virDomainObjEndAPI(&dom);
return dom;
}
--
2.4.5
2
5
[libvirt] [PATCH 0/2] qemu: Improve memory alignment handling and fix upcoming powerpc
by Peter Krempa 03 Aug '15
by Peter Krempa 03 Aug '15
03 Aug '15
Peter Krempa (2):
qemu: Make memory alignment helper more universal
qemu: ppc64: Align memory sizes to 256MiB
src/qemu/qemu_domain.c | 33 ++++++++++++++++------
src/qemu/qemu_domain.h | 3 +-
src/qemu/qemu_hotplug.c | 4 +--
.../qemuxml2argv-pseries-cpu-compat.args | 2 +-
4 files changed, 30 insertions(+), 12 deletions(-)
--
2.4.5
2
5
static int
qemuDomainDetachVirtioDiskDevice(virQEMUDriverPtr driver,
virDomainObjPtr vm,
virDomainDiskDefPtr detach)
{
.......
rc = qemuDomainWaitForDeviceRemoval(vm);
if (rc == 0 || rc == 1)
ret = qemuDomainRemoveDiskDevice(driver, vm, detach);
else
ret = 0; /*the return value of 2 is dismissed here, which refers to ETIMEOUT.*/
........
}
------------------------------------
If it timeouts when qemu tries to del the device, the return value would be modified from 2 to 0 in
function qemuDomainDetachVirtioDiskDevice(), which means that, the users would be misleaded that
the device has been deleted, however, the device maybe probably failed to be detached after timeout and
still in use.
That is to say, the function qemuDomainDetachVirtioDiskDevice()'s return value is ambiguous when it's 0,
maybe successful, or timeout. Will it be better to pass ETIMEOUT to user? or any other advises? for example,
let users themselves dumpxml the guest to check whether the device has been actually detached or not?
--
Oscar
oscar.zhangbo(a)huawei.com
2
4
It's out ! Tagged in git and with signed tarball and rpms on the server
at the usual place:
ftp://libvirt.org/libvirt/
I also made a libvirt-python release found at:
ftp://libvirt.org/libvirt/python/
This is a rather small size release, the libxl support for dom0 being
the main feature from an user POV, but there is as usual a number of bug
fixes and improvements across the code:
Features:
Documentation:
- fix typo in qemu_monitor (Cao jin)
- docs: bhyve: document clock configuration (Roman Bogorodskiy)
- viraccessperm.h: Fix some typos (Michal Privoznik)
- docs: Document how libvirt handles companion controllers (Martin Kletzander)
- daemonRunStateInit: Fix a typo on a comment (Michal Privoznik)
Portability:
- netdev: fix build on FreeBSD (Roman Bogorodskiy)
- spec: Fix polkit dep on F23 (Cole Robinson)
- nodeinfo: fix build on FreeBSD (Roman Bogorodskiy)
- Escape left brace as new perl suggests (Martin Kletzander)
Bug Fixes:
- qemu: Do not reset labels when migration fails (Jiri Denemark)
- qemu: Reject migration with memory-hotplug if destination doesn't support it (Peter Krempa)
- Load nbd module before running qemu-nbd (Cédric Bosdonnat)
- lxc: Don't accidentaly reset autostart flag in virLXCProcessCleanup (Peter Krempa)
- remote: fix typo in remoteDomainOpenGraphicsFD (Daniel P. Berrange)
- qemu: Check for iotune_max support properly (Martin Kletzander)
- Renamed deconfigured-cpus to allow make dist (Daniel Veillard)
- storage: allow zero capacity with non-backing file to be created (Chris J Arges)
- nodeinfo: Check for SYSFS_INFINIBAND_DIR before open (John Ferlan)
- qemu: fix the error cover issue in SetMemoryParameters (Luyao Huang)
- nodeinfo: Fix nodeGetCPUBitmap()'s fallback code path (Andrea Bolognani)
- tests: Restore links in deconfigured-cpus nodeinfo test (Andrea Bolognani)
- cgroup: Drop resource partition from virSystemdMakeScopeName (Peter Krempa)
- qemu: Reject updating unsupported disk information (Martin Kletzander)
- storage: Fix pool building when directory already exists (Christophe Fergeau)
- rpc: ensure daemon is spawn even if dead socket exists (Daniel P. Berrange)
- rbd: Return error from rbd_create for message processing (John Ferlan)
- qemuMigrationRun: Don't leak @fd (Michal Privoznik)
- Fix qemu-nbd cleanup crashes (Cédric Bosdonnat)
- network: Add another collision check into networkCheckRouteCollision (Martin Kletzander)
- nodeinfo: fix to parse present cpus rather than possible cpus (Kothapally Madhu Pavan)
- libxl: set dom0 state to running (Jim Fehlig)
- rpc: Rework timerActive logic in daemon (Martin Kletzander)
- qemu: Check duplicate WWNs also for hotplugged disks (Peter Krempa)
- Fix cloning of raw, sparse volumes (Prerna Saxena)
- qemu: don't use initialized ret in qemuRemoveSharedDevice (Guido Günther)
- qemu: report error for non-existing disk in blockjobinfo (Luyao Huang)
- conf: Don't allow duplicated target names regardless of bus (John Ferlan)
- storage: Revert volume obj list updating after volume creation (4749d82a) (Erik Skultety)
- qemu: Fix integer/boolean logic in qemuSetUnprivSGIO (John Ferlan)
- qemu: report error when shmem has an invalid address (Luyao Huang)
- qemu: Auto assign pci addresses for shared memory devices (Luyao Huang)
- vz: use PRL_USE_VNET_NAME_FOR_BRIDGE_NAME (Maxim Nestratov)
- Explicitly format the isa-fdc controller for newer q35 machines (Ján Tomko)
- virt-aa-helper: add unix channels for nserials as well (Serge Hallyn)
- storage: Fix regression in storagePoolUpdateAllState (Erik Skultety)
- better patch for the XSS search issue (Daniel Veillard)
- Avoid XSS vulnerability on the search engine (Daniel Veillard)
- vz: fix SDK event dispatching (Nikolay Shirokovskiy)
- util: Avoid Coverity FORWARD_NULL (John Ferlan)
- virsh: report error if vcpu number exceed the guest maxvcpu number (Luyao Huang)
- virt-aa-helper: Fix permissions for vhost-user socket files (Michal Dubiel)
Improvements:
- qemu: Properly check for incoming migration job (Jiri Denemark)
- Fix syntax-check: missing "%s" (Cédric Bosdonnat)
- qemu: Adjust VM id allocation (Erik Skultety)
- admin: Tiny cleanups (Martin Kletzander)
- tests: Finish rename of the long nodeinfo test case (Martin Kletzander)
- conf: add virDomainControllerDefNew() (Laine Stump)
- qemu: reorganize loop in qemuDomainAssignPCIAddresses (Laine Stump)
- conf: pay attention to bus minSlot/maxSlot when autoassigning PCI addresses (Laine Stump)
- tests: add vol-qcow2-zerocapacity test to storagevolxml2argvtest (Chris J Arges)
- Revert "qemu: Use heads parameter for QXL driver" (Martin Kletzander)
- test: introduce a function in test driver to check get vcpupin info (Luyao Huang)
- conf: reorganize virNetworkDHCPDefParseXML (Laine Stump)
- nodeinfo: Check for errors when reading core_id (Andrea Bolognani)
- bhyve: add UTC clock support (Roman Bogorodskiy)
- configure: clarify rationale for checking pkcheck (Daniel P. Berrange)
- nodeinfo: Calculate present and online CPUs only once (Andrea Bolognani)
- nodeinfo: Use a bitmap to keep track of node CPUs (Andrea Bolognani)
- nodeinfo: Use nodeGetOnlineCPUBitmap() when parsing node (Andrea Bolognani)
- nodeinfo: Phase out cpu_set_t usage (Andrea Bolognani)
- nodeinfo: Rename nodeGetCPUBitmap() to nodeGetOnlineCPUBitmap() (Andrea Bolognani)
- nodeinfo: Remove out parameter from nodeGetCPUBitmap() (Andrea Bolognani)
- nodeinfo: Add old kernel compatibility to nodeGetPresentCPUBitmap() (Andrea Bolognani)
- nodeinfo: Rename linuxParseCPUmax() to linuxParseCPUCount() (Andrea Bolognani)
- nodeinfo: Introduce linuxGetCPUOnlinePath() (Andrea Bolognani)
- nodeinfo: Introduce linuxGetCPUGlobalPath() (Andrea Bolognani)
- nodeinfo: Add nodeGetPresentCPUBitmap() to libvirt_private.syms (Andrea Bolognani)
- virsh: Refactor block job waiting in cmdBlockCopy (Peter Krempa)
- virsh: Refactor block job waiting in cmdBlockCommit (Peter Krempa)
- virsh: Refactor block job waiting in cmdBlockPull (Peter Krempa)
- qemu: Update state of block job to READY only if it actually is ready (Peter Krempa)
- virsh: Refactor argument handling in cmdBlockPull (Peter Krempa)
- virsh: Refactor argument handling in cmdBlockCopy (Peter Krempa)
- virsh: Refactor argument checking in cmdBlockCommit (Peter Krempa)
- virsh: Kill blockJobImpl by moving the final impl into cmdBlockCommit (Peter Krempa)
- virsh: Split out block pull implementation from blockJobImpl (Peter Krempa)
- virsh: block job: separate abort from blockJobImpl (Peter Krempa)
- virsh: blockjob: Split out vshBlockJobSetSpeed from blockJobImpl (Peter Krempa)
- virsh: cmdBlockJob: Switch to declarative flag interlocking (Peter Krempa)
- virsh: blockjob: Extract block job info code into a separate function (Peter Krempa)
- nodedev: add RDMA and tx-udp_tnl-segmentation NIC capabilities (Moshe Levi)
- qemu: Use heads parameter for QXL driver (Frediano Ziglio)
- rbd: Use RBD format 2 by default when creating images. (Wido den Hollander)
- virsh: Don't output node frequency if unknown (Martin Kletzander)
- qemu: Test for virtio-9p-ccw support (Boris Fiuczynski)
- qemu: Make virtio-9p-ccw the default for s390-ccw-virtio machines (Boris Fiuczynski)
- qemu: Support for virtio-9p-ccw (Boris Fiuczynski)
- virsh: Teach cmdFreepages to work with lxc driver (Michal Privoznik)
- cmdVcpuPin: Remove dead code (Michal Privoznik)
- lxc: wait for nbd device to be up to get its PIDs (Cédric Bosdonnat)
- nodeinfo: Formatting changes (Andrea Bolognani)
- nodeinfo: Make sysfs_prefix usage more consistent (Andrea Bolognani)
- qemu: process: Improve update of maximum balloon state at startup (Peter Krempa)
- qemuDomainSetNumaParamsLive: Check for NUMA mode more wisely (Michal Privoznik)
- conf: Add getter for network routes (Martin Kletzander)
- tests: Add nodeinfo test for non-present CPUs (Andrea Bolognani)
- nodeinfo: Add sysfs_prefix to nodeGetMemoryStats (John Ferlan)
- nodeinfo: Add sysfs_prefix to nodeCapsInitNUMA (John Ferlan)
- nodeinfo: Add sysfs_prefix to nodeGetInfo (John Ferlan)
- nodeinfo: Add sysfs_prefix to nodeGetCPUMap (John Ferlan)
- nodeinfo: Add sysfs_prefix to nodeGetCPUBitmap (John Ferlan)
- nodeinfo: Add sysfs_prefix to nodeGetPresentCPUBitmap (John Ferlan)
- nodeinfo: Add sysfs_prefix to nodeGetCPUCount (John Ferlan)
- nodeinfo: Introduce local linuxGetCPUPresentPath (John Ferlan)
- virt-driver-vz: Require parallels-7.0.22 at least (Michal Privoznik)
- configure: Move Virtuozzo checks to a specific module (Michal Privoznik)
- qemuProcessHandleMigrationStatus: Update migration status more frequently (Michal Privoznik)
- vz: fix cleanup of nets of bridged type (Dmitry Guryanov)
- qemu: Use error from Finish instead of "unexpectedly failed" (Jiri Denemark)
- qemu: Don't report false error from MigrateFinish (Jiri Denemark)
- qemu: Remember incoming migration errors (Jiri Denemark)
- Introduce virErrorCopyNew (Jiri Denemark)
- Introduce virHashAtomic (Jiri Denemark)
- cpu: Add support for MPX and AVX512 Intel features (Jiri Denemark)
- virt-aa-helper: add DomainGuest to mockup caps (Cédric Bosdonnat)
- virt-aa-helper: rename ctl->hvm to ctl->os (Cédric Bosdonnat)
- Get more libvirt errors from virt-aa-helper (Cédric Bosdonnat)
- virt-aa-helper: fix rules for paths with trailing slash (Cédric Bosdonnat)
- rpc: Add virNetDaemonHasClients (Martin Kletzander)
- Rewrite allocation tracking when cloning volumes (Ján Tomko)
- qemu: Drop LFs at the end of error from QEMU log (Jiri Denemark)
- qemu: Log all arguments of qemuProcessStart (Jiri Denemark)
- qemu: Wait for migration events on domain condition (Jiri Denemark)
- qemu: Update migration state according to MIGRATION event (Jiri Denemark)
- qemuDomainGetJobStatsInternal: Support migration events (Jiri Denemark)
- qemu: Enable migration events on QMP monitor (Jiri Denemark)
- qemu_monitor: Wire up MIGRATION event (Jiri Denemark)
- qemu_hotplug: try harder to eject media (Pavel Hrdina)
- monitor: detect that eject fails because the tray is locked (Pavel Hrdina)
- virDomainObjSignal: drop this function (Pavel Hrdina)
- virCondWaitUntil: add another return value (Pavel Hrdina)
- qemu: Refactor qemuSetUnprivSGIO return values (John Ferlan)
- qemu: Inline qemuGetHostdevPath (John Ferlan)
- qemu: Refactor qemuCheckSharedDisk to create qemuCheckUnprivSGIO (John Ferlan)
- libxl: rework setting the state of virDomainObj (Jim Fehlig)
- libxl: support dom0 (Jim Fehlig)
- qemu: Introduce qemuGetHostdevPath (John Ferlan)
- qemu: Introduce qemuIsSharedHostdev (John Ferlan)
- docs: Clarify unprivileged sgio feature (John Ferlan)
- conf: use virDomainChrSourceDef to save server path (Luyao Huang)
- qemu: Refactor creation of shared memory device commandline (Luyao Huang)
- qemu: Assign IDs for shared memory devices (Luyao Huang)
- Separate isa-fdc options generation (Ján Tomko)
- Add support for portable-rpcgen from portablexdr library (Pavel Fedin)
- Remove explicit enum from protocol structures (Pavel Fedin)
- util: bitmap: Don't alloc overly large binary bitmaps (Peter Krempa)
- vz: Use virBitmapToDataBuf instead of virBitmapToData in vzDomainGetVcpus (Peter Krempa)
- vz: Remove dead code from vzDomainGetVcpus (Peter Krempa)
- qemu: move the guest status check before agent config and status check (Luyao Huang)
- qemu: remove deadcode in qemuDomain{HelperGetVcpus|GetIOThreadsLive} (Luyao Huang)
- vz: assign static IPs and default gateways for network adapter (Mikhail Feoktistov)
- vz: fix building capabilities (Dmitry Guryanov)
- qemu_driver: live/config checks cleanup (Pavel Hrdina)
- Post-release version bump to 1.2.18 (Michal Privoznik)
- cpu_map.xml: Expand Opteron_G4 CPU model (Jiri Denemark)
- cpu_map.xml: Expand Opteron_G2 CPU model (Jiri Denemark)
- cpu_map.xml: Expand Opteron_G1 CPU model (Jiri Denemark)
- cpu_map.xml: Expand Broadwell-noTSX CPU model (Jiri Denemark)
- cpu_map.xml: Expand Haswell-noTSX CPU model (Jiri Denemark)
- cpu_map.xml: Expand SandyBridge CPU model (Jiri Denemark)
- cpu_map.xml: Expand Westmere CPU model (Jiri Denemark)
- cpu_map.xml: Expand Nehalem CPU model (Jiri Denemark)
- cpu_map.xml: Expand Penryn CPU model (Jiri Denemark)
- cpu_map.xml: Expand Conroe CPU model (Jiri Denemark)
- cpu_map.xml: Expand kvm64 CPU model (Jiri Denemark)
- cpu_map.xml: Expand cpu64-rhel5 CPU model (Jiri Denemark)
- cpu_map.xml: Expand kvm32 CPU model (Jiri Denemark)
- cpu_map.xml: Expand qemu32 CPU model (Jiri Denemark)
- cpu_map.xml: Expand n270 CPU model (Jiri Denemark)
- cpu_map.xml: Expand coreduo CPU model (Jiri Denemark)
- cpu_map.xml: Expand pentiumpro CPU model (Jiri Denemark)
- cpu_map.xml: Expand pentium2 CPU model (Jiri Denemark)
- cpu_map.xml: Expand pentium CPU model (Jiri Denemark)
- cpu_map.xml: Expand 486 CPU model (Jiri Denemark)
- cpu_map.xml: Sort features in x86 CPU models (Jiri Denemark)
Thanks everybody who helped make that release, with patches,
ideas, bug reports, documentation, etc ...
Enjoy,
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
1
0
03 Aug '15
Since its introduction in 2011 (particularly in commit f4324e329275),
the option doesn't work. It just effectively disables all incoming
connections. That's because the client private data that contain the
'keepalive_supported' boolean, are initialized to zeroes so the bool is
false and the only other place where the bool is used is when checking
whether the client supports keepalive. Thus, according to the server,
no client supports keepalive.
Removing this instead of fixing it is better because a) apparently
nobody ever tried it since 2011 (4 years without one month) and b) we
cannot know whether the client supports keepalive until we get a ping or
pong keepalive packet. And that won't happen untile after we dispatched
the ConnectOpen call.
Another two reasons would be c) the keepalive_required was tracked on
the server level, but keepalive_supported was in private data of the
client as well as the check that was made in the remote layer, thus
making all other instances of virNetServer miss this feature unless they
all implemented it for themselves and d) we can always add it back in
case there is a request and a use-case for it.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
v2:
- Added a new daemontest file with current input/output.
daemon/libvirtd-config.c | 4 ----
daemon/libvirtd-config.h | 2 --
daemon/libvirtd.aug | 2 --
daemon/libvirtd.c | 2 --
daemon/libvirtd.conf | 7 ------
daemon/libvirtd.h | 1 -
daemon/remote.c | 8 +------
daemon/test_libvirtd.aug.in | 2 --
src/libvirt_remote.syms | 1 -
src/locking/lock_daemon.c | 2 +-
src/lxc/lxc_controller.c | 2 +-
src/rpc/virnetserver.c | 25 +---------------------
src/rpc/virnetserver.h | 3 ---
....json => input-data-no-keepalive-required.json} | 2 --
.../virnetdaemondata/output-data-admin-nomdns.json | 2 --
.../virnetdaemondata/output-data-anon-clients.json | 1 -
.../output-data-initial-nomdns.json | 1 -
tests/virnetdaemondata/output-data-initial.json | 1 -
...json => output-data-no-keepalive-required.json} | 2 --
tests/virnetdaemontest.c | 2 +-
20 files changed, 5 insertions(+), 67 deletions(-)
copy tests/virnetdaemondata/{input-data-admin-nomdns.json => input-data-no-keepalive-required.json} (96%)
copy tests/virnetdaemondata/{input-data-admin-nomdns.json => output-data-no-keepalive-required.json} (96%)
diff --git a/daemon/libvirtd-config.c b/daemon/libvirtd-config.c
index 10dcc423d2db..c31c8b2e9ab5 100644
--- a/daemon/libvirtd-config.c
+++ b/daemon/libvirtd-config.c
@@ -292,7 +292,6 @@ daemonConfigNew(bool privileged ATTRIBUTE_UNUSED)
data->keepalive_interval = 5;
data->keepalive_count = 5;
- data->keepalive_required = 0;
data->admin_min_workers = 5;
data->admin_max_workers = 20;
@@ -302,7 +301,6 @@ daemonConfigNew(bool privileged ATTRIBUTE_UNUSED)
data->admin_keepalive_interval = 5;
data->admin_keepalive_count = 5;
- data->admin_keepalive_required = 0;
localhost = virGetHostname();
if (localhost == NULL) {
@@ -471,11 +469,9 @@ daemonConfigLoadOptions(struct daemonConfig *data,
GET_CONF_INT(conf, filename, keepalive_interval);
GET_CONF_UINT(conf, filename, keepalive_count);
- GET_CONF_UINT(conf, filename, keepalive_required);
GET_CONF_INT(conf, filename, admin_keepalive_interval);
GET_CONF_UINT(conf, filename, admin_keepalive_count);
- GET_CONF_UINT(conf, filename, admin_keepalive_required);
return 0;
diff --git a/daemon/libvirtd-config.h b/daemon/libvirtd-config.h
index 9cdae1a0cb59..3e1971d67f05 100644
--- a/daemon/libvirtd-config.h
+++ b/daemon/libvirtd-config.h
@@ -81,7 +81,6 @@ struct daemonConfig {
int keepalive_interval;
unsigned int keepalive_count;
- int keepalive_required;
int admin_min_workers;
int admin_max_workers;
@@ -91,7 +90,6 @@ struct daemonConfig {
int admin_keepalive_interval;
unsigned int admin_keepalive_count;
- int admin_keepalive_required;
};
diff --git a/daemon/libvirtd.aug b/daemon/libvirtd.aug
index a70aa1dddf90..7c7992dd0568 100644
--- a/daemon/libvirtd.aug
+++ b/daemon/libvirtd.aug
@@ -79,11 +79,9 @@ module Libvirtd =
let keepalive_entry = int_entry "keepalive_interval"
| int_entry "keepalive_count"
- | bool_entry "keepalive_required"
let admin_keepalive_entry = int_entry "admin_keepalive_interval"
| int_entry "admin_keepalive_count"
- | bool_entry "admin_keepalive_required"
let misc_entry = str_entry "host_uuid"
diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
index 71db4a042c7f..250094bd21dd 100644
--- a/daemon/libvirtd.c
+++ b/daemon/libvirtd.c
@@ -1389,7 +1389,6 @@ int main(int argc, char **argv) {
config->max_anonymous_clients,
config->keepalive_interval,
config->keepalive_count,
- !!config->keepalive_required,
config->mdns_adv ? config->mdns_name : NULL,
remoteClientInitHook,
NULL,
@@ -1464,7 +1463,6 @@ int main(int argc, char **argv) {
0,
config->admin_keepalive_interval,
config->admin_keepalive_count,
- !!config->admin_keepalive_required,
NULL,
remoteAdmClientInitHook,
NULL,
diff --git a/daemon/libvirtd.conf b/daemon/libvirtd.conf
index ac06cdd79103..cd990b28f744 100644
--- a/daemon/libvirtd.conf
+++ b/daemon/libvirtd.conf
@@ -440,14 +440,7 @@
#
#keepalive_interval = 5
#keepalive_count = 5
-#
-# If set to 1, libvirtd will refuse to talk to clients that do not
-# support keepalive protocol. Defaults to 0.
-#
-#keepalive_required = 1
# Keepalive settings for the admin interface
#admin_keepalive_interval = 5
#admin_keepalive_count = 5
-#
-#admin_keepalive_required = 1
diff --git a/daemon/libvirtd.h b/daemon/libvirtd.h
index 8c1a904893ab..efd4823ae18e 100644
--- a/daemon/libvirtd.h
+++ b/daemon/libvirtd.h
@@ -72,7 +72,6 @@ struct daemonClientPrivate {
virConnectPtr conn;
daemonClientStreamPtr streams;
- bool keepalive_supported;
};
/* Separate private data for admin connection */
diff --git a/daemon/remote.c b/daemon/remote.c
index e9e2dcae80e0..3a3eb0913088 100644
--- a/daemon/remote.c
+++ b/daemon/remote.c
@@ -1290,7 +1290,7 @@ void *remoteClientInitHook(virNetServerClientPtr client,
/*----- Functions. -----*/
static int
-remoteDispatchConnectOpen(virNetServerPtr server,
+remoteDispatchConnectOpen(virNetServerPtr server ATTRIBUTE_UNUSED,
virNetServerClientPtr client,
virNetMessagePtr msg ATTRIBUTE_UNUSED,
virNetMessageErrorPtr rerr,
@@ -1309,12 +1309,6 @@ remoteDispatchConnectOpen(virNetServerPtr server,
goto cleanup;
}
- if (virNetServerKeepAliveRequired(server) && !priv->keepalive_supported) {
- virReportError(VIR_ERR_OPERATION_FAILED, "%s",
- _("keepalive support is required to connect"));
- goto cleanup;
- }
-
name = args->name ? *args->name : NULL;
/* If this connection arrived on a readonly socket, force
diff --git a/daemon/test_libvirtd.aug.in b/daemon/test_libvirtd.aug.in
index 4921cbfb86b3..3c29aac9747f 100644
--- a/daemon/test_libvirtd.aug.in
+++ b/daemon/test_libvirtd.aug.in
@@ -57,7 +57,5 @@ module Test_libvirtd =
{ "host_uuid" = "00000000-0000-0000-0000-000000000000" }
{ "keepalive_interval" = "5" }
{ "keepalive_count" = "5" }
- { "keepalive_required" = "1" }
{ "admin_keepalive_interval" = "5" }
{ "admin_keepalive_count" = "5" }
- { "admin_keepalive_required" = "1" }
diff --git a/src/libvirt_remote.syms b/src/libvirt_remote.syms
index 6bfdcfa819bf..90a453c8be9c 100644
--- a/src/libvirt_remote.syms
+++ b/src/libvirt_remote.syms
@@ -101,7 +101,6 @@ virNetServerAddProgram;
virNetServerAddService;
virNetServerClose;
virNetServerHasClients;
-virNetServerKeepAliveRequired;
virNetServerNew;
virNetServerNewPostExecRestart;
virNetServerPreExecRestart;
diff --git a/src/locking/lock_daemon.c b/src/locking/lock_daemon.c
index ecbe03a4c154..c03502459acd 100644
--- a/src/locking/lock_daemon.c
+++ b/src/locking/lock_daemon.c
@@ -151,7 +151,7 @@ virLockDaemonNew(virLockDaemonConfigPtr config, bool privileged)
if (!(lockd->srv = virNetServerNew(1, 1, 0, config->max_clients,
config->max_clients, -1, 0,
- false, NULL,
+ NULL,
virLockDaemonClientNew,
virLockDaemonClientPreExecRestart,
virLockDaemonClientFree,
diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c
index 110a55662be0..48a3597ed274 100644
--- a/src/lxc/lxc_controller.c
+++ b/src/lxc/lxc_controller.c
@@ -925,7 +925,7 @@ static int virLXCControllerSetupServer(virLXCControllerPtr ctrl)
return -1;
if (!(srv = virNetServerNew(0, 0, 0, 1,
- 0, -1, 0, false,
+ 0, -1, 0,
NULL,
virLXCControllerClientPrivateNew,
NULL,
diff --git a/src/rpc/virnetserver.c b/src/rpc/virnetserver.c
index 60a9714f6096..80b5588bf3c9 100644
--- a/src/rpc/virnetserver.c
+++ b/src/rpc/virnetserver.c
@@ -69,7 +69,6 @@ struct _virNetServer {
int keepaliveInterval;
unsigned int keepaliveCount;
- bool keepaliveRequired;
#ifdef WITH_GNUTLS
virNetTLSContextPtr tls;
@@ -312,7 +311,6 @@ virNetServerPtr virNetServerNew(size_t min_workers,
size_t max_anonymous_clients,
int keepaliveInterval,
unsigned int keepaliveCount,
- bool keepaliveRequired,
const char *mdnsGroupName,
virNetServerClientPrivNew clientPrivNew,
virNetServerClientPrivPreExecRestart clientPrivPreExecRestart,
@@ -338,7 +336,6 @@ virNetServerPtr virNetServerNew(size_t min_workers,
srv->nclients_unauth_max = max_anonymous_clients;
srv->keepaliveInterval = keepaliveInterval;
srv->keepaliveCount = keepaliveCount;
- srv->keepaliveRequired = keepaliveRequired;
srv->clientPrivNew = clientPrivNew;
srv->clientPrivPreExecRestart = clientPrivPreExecRestart;
srv->clientPrivFree = clientPrivFree;
@@ -380,7 +377,6 @@ virNetServerPtr virNetServerNewPostExecRestart(virJSONValuePtr object,
unsigned int max_anonymous_clients;
unsigned int keepaliveInterval;
unsigned int keepaliveCount;
- bool keepaliveRequired;
const char *mdnsGroupName = NULL;
if (virJSONValueObjectGetNumberUint(object, "min_workers", &min_workers) < 0) {
@@ -423,11 +419,6 @@ virNetServerPtr virNetServerNewPostExecRestart(virJSONValuePtr object,
_("Missing keepaliveCount data in JSON document"));
goto error;
}
- if (virJSONValueObjectGetBoolean(object, "keepaliveRequired", &keepaliveRequired) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Missing keepaliveRequired data in JSON document"));
- goto error;
- }
if (virJSONValueObjectHasKey(object, "mdnsGroupName") &&
(!(mdnsGroupName = virJSONValueObjectGetString(object, "mdnsGroupName")))) {
@@ -440,7 +431,7 @@ virNetServerPtr virNetServerNewPostExecRestart(virJSONValuePtr object,
priority_workers, max_clients,
max_anonymous_clients,
keepaliveInterval, keepaliveCount,
- keepaliveRequired, mdnsGroupName,
+ mdnsGroupName,
clientPrivNew, clientPrivPreExecRestart,
clientPrivFree, clientPrivOpaque)))
goto error;
@@ -573,11 +564,6 @@ virJSONValuePtr virNetServerPreExecRestart(virNetServerPtr srv)
_("Cannot set keepaliveCount data in JSON document"));
goto error;
}
- if (virJSONValueObjectAppendBoolean(object, "keepaliveRequired", srv->keepaliveRequired) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Cannot set keepaliveRequired data in JSON document"));
- goto error;
- }
if (srv->mdnsGroupName &&
virJSONValueObjectAppendString(object, "mdnsGroupName", srv->mdnsGroupName) < 0) {
@@ -786,15 +772,6 @@ void virNetServerClose(virNetServerPtr srv)
virObjectUnlock(srv);
}
-bool virNetServerKeepAliveRequired(virNetServerPtr srv)
-{
- bool required;
- virObjectLock(srv);
- required = srv->keepaliveRequired;
- virObjectUnlock(srv);
- return required;
-}
-
static inline size_t
virNetServerTrackPendingAuthLocked(virNetServerPtr srv)
{
diff --git a/src/rpc/virnetserver.h b/src/rpc/virnetserver.h
index 0e16e8fb1bf0..89d8db9b9ee4 100644
--- a/src/rpc/virnetserver.h
+++ b/src/rpc/virnetserver.h
@@ -41,7 +41,6 @@ virNetServerPtr virNetServerNew(size_t min_workers,
size_t max_anonymous_clients,
int keepaliveInterval,
unsigned int keepaliveCount,
- bool keepaliveRequired,
const char *mdnsGroupName,
virNetServerClientPrivNew clientPrivNew,
virNetServerClientPrivPreExecRestart clientPrivPreExecRestart,
@@ -74,8 +73,6 @@ int virNetServerSetTLSContext(virNetServerPtr srv,
virNetTLSContextPtr tls);
# endif
-bool virNetServerKeepAliveRequired(virNetServerPtr srv);
-
size_t virNetServerTrackPendingAuth(virNetServerPtr srv);
size_t virNetServerTrackCompletedAuth(virNetServerPtr srv);
diff --git a/tests/virnetdaemondata/input-data-admin-nomdns.json b/tests/virnetdaemondata/input-data-no-keepalive-required.json
similarity index 96%
copy from tests/virnetdaemondata/input-data-admin-nomdns.json
copy to tests/virnetdaemondata/input-data-no-keepalive-required.json
index 59bc4714a60b..b5e4dc8e0391 100644
--- a/tests/virnetdaemondata/input-data-admin-nomdns.json
+++ b/tests/virnetdaemondata/input-data-no-keepalive-required.json
@@ -7,7 +7,6 @@
"max_clients": 100,
"keepaliveInterval": 120,
"keepaliveCount": 5,
- "keepaliveRequired": true,
"services": [
{
"auth": 0,
@@ -68,7 +67,6 @@
"max_clients": 100,
"keepaliveInterval": 120,
"keepaliveCount": 5,
- "keepaliveRequired": true,
"services": [
{
"auth": 0,
diff --git a/tests/virnetdaemondata/output-data-admin-nomdns.json b/tests/virnetdaemondata/output-data-admin-nomdns.json
index 5df71a0d88c8..a814aeb80614 100644
--- a/tests/virnetdaemondata/output-data-admin-nomdns.json
+++ b/tests/virnetdaemondata/output-data-admin-nomdns.json
@@ -8,7 +8,6 @@
"max_anonymous_clients": 100,
"keepaliveInterval": 120,
"keepaliveCount": 5,
- "keepaliveRequired": true,
"services": [
{
"auth": 0,
@@ -70,7 +69,6 @@
"max_anonymous_clients": 100,
"keepaliveInterval": 120,
"keepaliveCount": 5,
- "keepaliveRequired": true,
"services": [
{
"auth": 0,
diff --git a/tests/virnetdaemondata/output-data-anon-clients.json b/tests/virnetdaemondata/output-data-anon-clients.json
index 4e4332691aa7..05fc0ae00d3f 100644
--- a/tests/virnetdaemondata/output-data-anon-clients.json
+++ b/tests/virnetdaemondata/output-data-anon-clients.json
@@ -8,7 +8,6 @@
"max_anonymous_clients": 10,
"keepaliveInterval": 120,
"keepaliveCount": 5,
- "keepaliveRequired": true,
"services": [
{
"auth": 0,
diff --git a/tests/virnetdaemondata/output-data-initial-nomdns.json b/tests/virnetdaemondata/output-data-initial-nomdns.json
index bef54bf94ad5..400e47bc9463 100644
--- a/tests/virnetdaemondata/output-data-initial-nomdns.json
+++ b/tests/virnetdaemondata/output-data-initial-nomdns.json
@@ -8,7 +8,6 @@
"max_anonymous_clients": 100,
"keepaliveInterval": 120,
"keepaliveCount": 5,
- "keepaliveRequired": true,
"services": [
{
"auth": 0,
diff --git a/tests/virnetdaemondata/output-data-initial.json b/tests/virnetdaemondata/output-data-initial.json
index 9afa791d91fc..e875cffe5c01 100644
--- a/tests/virnetdaemondata/output-data-initial.json
+++ b/tests/virnetdaemondata/output-data-initial.json
@@ -8,7 +8,6 @@
"max_anonymous_clients": 100,
"keepaliveInterval": 120,
"keepaliveCount": 5,
- "keepaliveRequired": true,
"mdnsGroupName": "libvirtTest",
"services": [
{
diff --git a/tests/virnetdaemondata/input-data-admin-nomdns.json b/tests/virnetdaemondata/output-data-no-keepalive-required.json
similarity index 96%
copy from tests/virnetdaemondata/input-data-admin-nomdns.json
copy to tests/virnetdaemondata/output-data-no-keepalive-required.json
index 59bc4714a60b..b5e4dc8e0391 100644
--- a/tests/virnetdaemondata/input-data-admin-nomdns.json
+++ b/tests/virnetdaemondata/output-data-no-keepalive-required.json
@@ -7,7 +7,6 @@
"max_clients": 100,
"keepaliveInterval": 120,
"keepaliveCount": 5,
- "keepaliveRequired": true,
"services": [
{
"auth": 0,
@@ -68,7 +67,6 @@
"max_clients": 100,
"keepaliveInterval": 120,
"keepaliveCount": 5,
- "keepaliveRequired": true,
"services": [
{
"auth": 0,
diff --git a/tests/virnetdaemontest.c b/tests/virnetdaemontest.c
index ef45018f5873..fb8a6c0c0ec5 100644
--- a/tests/virnetdaemontest.c
+++ b/tests/virnetdaemontest.c
@@ -50,7 +50,7 @@ testCreateServer(const char *host, int family)
}
if (!(srv = virNetServerNew(10, 50, 5, 100, 10,
- 120, 5, true,
+ 120, 5,
mdns_group,
NULL,
NULL,
--
2.5.0
2
3
libvirt_virDomainGetSecurityLabelList called PyList_Append without
checking its return value. While looking at it I noticed the function
did not properly check several other return values either so I fixed
them all.
https://bugzilla.redhat.com/show_bug.cgi?id=1249511
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
libvirt-override.c | 46 ++++++++++++++++++++++++++++++++++++++--------
1 file changed, 38 insertions(+), 8 deletions(-)
diff --git a/libvirt-override.c b/libvirt-override.c
index 45c8afc..95061e8 100644
--- a/libvirt-override.c
+++ b/libvirt-override.c
@@ -3142,32 +3142,62 @@ libvirt_virDomainGetSecurityLabel(PyObject *self ATTRIBUTE_UNUSED, PyObject *arg
#if LIBVIR_CHECK_VERSION(0, 10, 0)
static PyObject *
-libvirt_virDomainGetSecurityLabelList(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+libvirt_virDomainGetSecurityLabelList(PyObject *self ATTRIBUTE_UNUSED,
+ PyObject *args)
+{
PyObject *py_retval;
int c_retval;
virDomainPtr dom;
PyObject *pyobj_dom;
- virSecurityLabel *labels;
+ virSecurityLabel *labels = NULL;
size_t i;
if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetSecurityLabel", &pyobj_dom))
return NULL;
+
dom = (virDomainPtr) PyvirDomain_Get(pyobj_dom);
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virDomainGetSecurityLabelList(dom, &labels);
LIBVIRT_END_ALLOW_THREADS;
+
if (c_retval < 0)
return VIR_PY_NONE;
- py_retval = PyList_New(0);
+
+ if (!(py_retval = PyList_New(0)))
+ goto error;
+
for (i = 0 ; i < c_retval ; i++) {
- PyObject *entry = PyList_New(2);
- PyList_SetItem(entry, 0, libvirt_constcharPtrWrap(&labels[i].label[0]));
- PyList_SetItem(entry, 1, libvirt_boolWrap(labels[i].enforcing));
- PyList_Append(py_retval, entry);
+ PyObject *entry;
+ PyObject *value;
+
+ if (!(entry = PyList_New(2)) ||
+ PyList_Append(py_retval, entry) < 0) {
+ Py_XDECREF(entry);
+ goto error;
+ }
+
+ if (!(value = libvirt_constcharPtrWrap(&labels[i].label[0])) ||
+ PyList_SetItem(entry, 0, value) < 0) {
+ Py_XDECREF(value);
+ goto error;
+ }
+
+ if (!(value = libvirt_boolWrap(labels[i].enforcing)) ||
+ PyList_SetItem(entry, 1, value) < 0) {
+ Py_XDECREF(value);
+ goto error;
+ }
}
- free(labels);
+
+ cleanup:
+ VIR_FREE(labels);
return py_retval;
+
+ error:
+ Py_XDECREF(py_retval);
+ py_retval = NULL;
+ goto cleanup;
}
#endif /* LIBVIR_CHECK_VERSION(0, 10, 0) */
--
2.5.0
2
1
[libvirt] [PATCH] lxc: Add option to inherit namespace from a name container or a pid or a netns
by ik.nitk 03 Aug '15
by ik.nitk 03 Aug '15
03 Aug '15
lxc / docker containers gives option to inherit the
namespaces. Example lxc-start has option [ --share-[net|ipc|uts] name|pid ]
where --share-net name|pid means Inherit a network namespace from a
name container or a pid.
This patch tries to add the similar option to libvirt lxc. So to inherit namespace from name
container c2.
add this into xml.
<lxc:namespace>
<sharenet type='name' value='c2'/>
</lxc:namespace>
And to inherit namespace from a pid.
add this into xml.
<lxc:namespace>
<sharenet type='pid' value='10245'/>
</lxc:namespace>
And to inherit namespace from a netns.
add this into xml.
<lxc:namespace>
<sharenet type='netns' value='red'/>
</lxc:namespace>
Similar options for ipc/uts.
<shareipc /> , <shareuts />
The reasong lxc xml namespace is added because this feature is very specific to lxc. Therfore wanted to
keep it seperated from actual libvirt xml domain.
So the final vrish xml file would look like
<domain type='lxc' xmlns:lxc='http://libvirt.org/schemas/domain/lxc/1.0'>
<name>cn-03</name>
<memory>327680</memory>
<os>
<type>exe</type>
<init>/sbin/init</init>
</os>
<lxc:namespace>
<sharenet type='netns' value='red'/>
</lxc:namespace>
<vcpu>1</vcpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/lib/libvirt/libvirt_lxc</emulator>
<filesystem type='mount'>
<source dir='/var/lib/lxc/u1/rootfs'/>
<target dir='/'/>
</filesystem>
<console type='pty'/>
</devices>
</domain>
-imran
---
src/Makefile.am | 5 +-
src/lxc/lxc_conf.c | 2 +-
src/lxc/lxc_conf.h | 23 +++++
src/lxc/lxc_container.c | 191 ++++++++++++++++++++++++++++++++++--
src/lxc/lxc_domain.c | 254 +++++++++++++++++++++++++++++++++++++++++++++++-
src/lxc/lxc_domain.h | 1 +
6 files changed, 463 insertions(+), 13 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 579421d..1a78fde 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1293,7 +1293,8 @@ libvirt_driver_lxc_impl_la_CFLAGS = \
-I$(srcdir)/access \
-I$(srcdir)/conf \
$(AM_CFLAGS)
-libvirt_driver_lxc_impl_la_LIBADD = $(CAPNG_LIBS) $(LIBNL_LIBS) $(FUSE_LIBS)
+libvirt_driver_lxc_impl_la_LIBADD = $(CAPNG_LIBS) $(LIBNL_LIBS) $(LIBXML_LIBS) $(FUSE_LIBS)
+libvirt_driver_lxc_impl_la_LDFLAGS = libvirt-lxc.la
if WITH_BLKID
libvirt_driver_lxc_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_lxc_impl_la_LIBADD += $(BLKID_LIBS)
@@ -2652,6 +2653,8 @@ libvirt_lxc_LDADD = \
libvirt-net-rpc.la \
libvirt_security_manager.la \
libvirt_conf.la \
+ libvirt.la \
+ libvirt-lxc.la \
libvirt_util.la \
../gnulib/lib/libgnu.la
if WITH_DTRACE_PROBES
diff --git a/src/lxc/lxc_conf.c b/src/lxc/lxc_conf.c
index c393cb5..96a0f47 100644
--- a/src/lxc/lxc_conf.c
+++ b/src/lxc/lxc_conf.c
@@ -213,7 +213,7 @@ lxcDomainXMLConfInit(void)
{
return virDomainXMLOptionNew(&virLXCDriverDomainDefParserConfig,
&virLXCDriverPrivateDataCallbacks,
- NULL);
+ &virLXCDriverDomainXMLNamespace);
}
diff --git a/src/lxc/lxc_conf.h b/src/lxc/lxc_conf.h
index 8340b1f..59002e5 100644
--- a/src/lxc/lxc_conf.h
+++ b/src/lxc/lxc_conf.h
@@ -67,6 +67,29 @@ struct _virLXCDriverConfig {
bool securityRequireConfined;
};
+
+typedef enum {
+ VIR_DOMAIN_NAMESPACE_SHARENET = 0,
+ VIR_DOMAIN_NAMESPACE_SHAREIPC,
+ VIR_DOMAIN_NAMESPACE_SHAREUTS,
+ VIR_DOMAIN_NAMESPACE_LAST,
+} virDomainNamespace;
+
+struct ns_info {
+ const char *proc_name;
+ int clone_flag;
+};
+
+extern const struct ns_info ns_info[VIR_DOMAIN_NAMESPACE_LAST];
+
+typedef struct _lxcDomainDef lxcDomainDef;
+typedef lxcDomainDef *lxcDomainDefPtr;
+struct _lxcDomainDef {
+ int ns_inherit_fd[VIR_DOMAIN_NAMESPACE_LAST];
+ char *ns_type[VIR_DOMAIN_NAMESPACE_LAST];
+ char *ns_val[VIR_DOMAIN_NAMESPACE_LAST];
+};
+
struct _virLXCDriver {
virMutex lock;
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index 9a9ae5c..a9a7ba0 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -25,8 +25,8 @@
*/
#include <config.h>
-
#include <fcntl.h>
+#include <sched.h>
#include <limits.h>
#include <stdlib.h>
#include <stdio.h>
@@ -38,7 +38,6 @@
#include <mntent.h>
#include <sys/reboot.h>
#include <linux/reboot.h>
-
/* Yes, we want linux private one, for _syscall2() macro */
#include <linux/unistd.h>
@@ -99,6 +98,50 @@ VIR_LOG_INIT("lxc.lxc_container");
typedef char lxc_message_t;
#define LXC_CONTINUE_MSG 'c'
+#ifdef __linux__
+/*
+ * Workaround older glibc. While kernel may support the setns
+ * syscall, the glibc wrapper might not exist. If that's the
+ * case, use our own.
+ */
+# ifndef __NR_setns
+# if defined(__x86_64__)
+# define __NR_setns 308
+# elif defined(__i386__)
+# define __NR_setns 346
+# elif defined(__arm__)
+# define __NR_setns 375
+# elif defined(__aarch64__)
+# define __NR_setns 375
+# elif defined(__powerpc__)
+# define __NR_setns 350
+# elif defined(__s390__)
+# define __NR_setns 339
+# endif
+# endif
+
+# ifndef HAVE_SETNS
+# if defined(__NR_setns)
+# include <sys/syscall.h>
+
+static inline int setns(int fd, int nstype)
+{
+ return syscall(__NR_setns, fd, nstype);
+}
+# else /* !__NR_setns */
+# error Please determine the syscall number for setns on your architecture
+# endif
+# endif
+#else /* !__linux__ */
+static inline int setns(int fd ATTRIBUTE_UNUSED, int nstype ATTRIBUTE_UNUSED)
+{
+ virReportSystemError(ENOSYS, "%s",
+ _("Namespaces are not supported on this platform."));
+ return -1;
+}
+#endif
+
+
typedef struct __lxc_child_argv lxc_child_argv_t;
struct __lxc_child_argv {
virDomainDefPtr config;
@@ -2233,7 +2276,6 @@ static int lxcContainerChild(void *data)
vmDef->os.init);
goto cleanup;
}
-
/* rename and enable interfaces */
if (lxcContainerRenameAndEnableInterfaces(vmDef,
argv->nveths,
@@ -2321,6 +2363,99 @@ virArch lxcContainerGetAlt32bitArch(virArch arch)
return VIR_ARCH_NONE;
}
+/* Used only for containers,same as the one defined in
+ * domain_conf.c. But used locally
+ */
+static const struct ns_info ns_info_local[VIR_DOMAIN_NAMESPACE_LAST] = {
+ [VIR_DOMAIN_NAMESPACE_SHARENET] = {"net", CLONE_NEWNET},
+ [VIR_DOMAIN_NAMESPACE_SHAREIPC] = {"ipc", CLONE_NEWIPC},
+ [VIR_DOMAIN_NAMESPACE_SHAREUTS] = {"uts", CLONE_NEWUTS}
+};
+
+
+static void close_ns(int ns_fd[VIR_DOMAIN_NAMESPACE_LAST])
+{
+ int i;
+ for (i = 0; i < VIR_DOMAIN_NAMESPACE_LAST; i++) {
+ if (ns_fd[i] > -1) {
+ if (VIR_CLOSE(ns_fd[i]) < 0)
+ virReportSystemError(errno, "%s", _("failed to close file"));
+ ns_fd[i] = -1;
+ }
+ }
+}
+
+
+/**
+ * lxcPreserve_ns:
+ * @ns_fd: array to store current namespace
+ * @clone_flags: namespaces that need to be preserved
+ */
+static int lxcPreserve_ns(int ns_fd[VIR_DOMAIN_NAMESPACE_LAST], int clone_flags)
+{
+ int i, saved_errno;
+ char *path = NULL;
+
+ for (i = 0; i < VIR_DOMAIN_NAMESPACE_LAST; i++)
+ ns_fd[i] = -1;
+
+ if (access("/proc/self/ns", X_OK)) {
+ virReportSystemError(errno, "%s",
+ _("Kernel does not support attach; preserve_ns ignored"));
+ return 0;
+ }
+
+ for (i = 0; i < VIR_DOMAIN_NAMESPACE_LAST; i++) {
+ if ((clone_flags & ns_info_local[i].clone_flag) == 0)
+ continue;
+ if (virAsprintf(&path, "/proc/self/ns/%s",
+ ns_info_local[i].proc_name) < 0)
+ goto error;
+ ns_fd[i] = open(path, O_RDONLY | O_CLOEXEC);
+ if (ns_fd[i] < 0)
+ goto error;
+ }
+ VIR_FREE(path);
+ return 0;
+ error:
+ saved_errno = errno;
+ close_ns(ns_fd);
+ errno = saved_errno;
+ VIR_FREE(path);
+ virReportSystemError(errno, _("failed to open '%s'"), path);
+ return -1;
+}
+
+/**
+ * lxcAttach_ns:
+ * @ns_fd: array of namespaces to attach
+ */
+static int lxcAttach_ns(const int ns_fd[VIR_DOMAIN_NAMESPACE_LAST])
+{
+ int i;
+
+ for (i = 0; i < VIR_DOMAIN_NAMESPACE_LAST; i++) {
+ if (ns_fd[i] < 0)
+ continue;
+ VIR_DEBUG("Setting into namespace\n");
+
+ /* We get EINVAL if new NS is same as the current
+ * NS, or if the fd namespace doesn't match the
+ * type passed to setns()'s second param. Since we
+ * pass 0, we know the EINVAL is harmless
+ */
+ if (setns(ns_fd[i], 0) < 0 &&
+ errno != EINVAL)
+ goto error;
+ }
+ return 0;
+
+ error:
+ virReportSystemError(errno, _("failed to set namespace '%s'")
+ , ns_info_local[i].proc_name);
+ return -1;
+}
+
/**
* lxcContainerStart:
@@ -2346,9 +2481,12 @@ int lxcContainerStart(virDomainDefPtr def,
char **ttyPaths)
{
pid_t pid;
- int cflags;
+ int cflags, i;
int stacksize = getpagesize() * 4;
char *stack, *stacktop;
+ int saved_ns_fd[VIR_DOMAIN_NAMESPACE_LAST];
+ int preserve_mask = 0;
+ lxcDomainDefPtr lxcDef;
lxc_child_argv_t args = {
.config = def,
.securityDriver = securityDriver,
@@ -2368,7 +2506,14 @@ int lxcContainerStart(virDomainDefPtr def,
stacktop = stack + stacksize;
- cflags = CLONE_NEWPID|CLONE_NEWNS|CLONE_NEWUTS|CLONE_NEWIPC|SIGCHLD;
+ lxcDef = def->namespaceData;
+ for (i = 0; i < VIR_DOMAIN_NAMESPACE_LAST; i++)
+ if (lxcDef && lxcDef->ns_inherit_fd[i] != -1)
+ preserve_mask |= ns_info_local[i].clone_flag;
+
+
+
+ cflags = CLONE_NEWPID|CLONE_NEWNS|SIGCHLD;
if (userns_required(def)) {
if (userns_supported()) {
@@ -2381,10 +2526,36 @@ int lxcContainerStart(virDomainDefPtr def,
return -1;
}
}
+ if (!lxcDef || (lxcDef && lxcDef->ns_inherit_fd[VIR_DOMAIN_NAMESPACE_SHARENET] == -1)) {
+ if (lxcNeedNetworkNamespace(def)) {
+ VIR_DEBUG("Enable network namespaces");
+ cflags |= CLONE_NEWNET;
+ }
+ } else {
+ VIR_DEBUG("Inheriting a net namespace");
+ }
- if (lxcNeedNetworkNamespace(def)) {
- VIR_DEBUG("Enable network namespaces");
- cflags |= CLONE_NEWNET;
+ if (!lxcDef || (lxcDef && lxcDef->ns_inherit_fd[VIR_DOMAIN_NAMESPACE_SHAREIPC] == -1)) {
+ cflags |= CLONE_NEWIPC;
+ } else {
+ VIR_DEBUG("Inheriting an IPC namespace");
+ }
+
+ if (!lxcDef || (lxcDef && lxcDef->ns_inherit_fd[VIR_DOMAIN_NAMESPACE_SHAREUTS] == -1)) {
+ cflags |= CLONE_NEWUTS;
+ } else {
+ VIR_DEBUG("Inheriting a UTS namespace");
+ }
+
+ if (lxcDef && lxcPreserve_ns(saved_ns_fd, preserve_mask) < 0) {
+ virReportError(VIR_ERR_SYSTEM_ERROR, "%s",
+ _("failed to preserve the namespace"));
+ return -1;
+ }
+ if (lxcDef && lxcAttach_ns(lxcDef->ns_inherit_fd) < 0) {
+ virReportError(VIR_ERR_SYSTEM_ERROR, "%s",
+ _("failed to attach the namespace"));
+ return -1;
}
VIR_DEBUG("Cloning container init process");
@@ -2397,6 +2568,10 @@ int lxcContainerStart(virDomainDefPtr def,
_("Failed to run clone container"));
return -1;
}
+ if (lxcDef && lxcAttach_ns(saved_ns_fd)) {
+ virReportError(VIR_ERR_SYSTEM_ERROR, "%s",
+ _("failed to restore saved namespaces"));
+ }
return pid;
}
diff --git a/src/lxc/lxc_domain.c b/src/lxc/lxc_domain.c
index c2180cb..6e4a19a 100644
--- a/src/lxc/lxc_domain.c
+++ b/src/lxc/lxc_domain.c
@@ -20,14 +20,18 @@
*/
#include <config.h>
-
#include "lxc_domain.h"
-
#include "viralloc.h"
#include "virlog.h"
#include "virerror.h"
+#include <fcntl.h>
+#include <libxml/xpathInternals.h>
+#include "virstring.h"
+#include "virutil.h"
+#include "virfile.h"
#define VIR_FROM_THIS VIR_FROM_LXC
+#define LXC_NAMESPACE_HREF "http://libvirt.org/schemas/domain/lxc/1.0"
VIR_LOG_INIT("lxc.lxc_domain");
@@ -41,6 +45,251 @@ static void *virLXCDomainObjPrivateAlloc(void)
return priv;
}
+
+static int open_ns(const char *nnsname_pid, const char *ns_proc_name)
+{
+ int fd = -1;
+ virDomainPtr dom = NULL;
+ virConnectPtr conn = NULL;
+ pid_t pid;
+ int nfdlist;
+ int *fdlist;
+ char *path = NULL;
+ char *eptr;
+ pid = strtol(nnsname_pid, &eptr, 10);
+ if (*eptr != '\0' || pid < 1) {
+ /* check if the domain is running, then set the namespaces
+ * to that container
+ */
+ size_t i = 0;
+ const char *ns[] = { "user", "ipc", "uts", "net", "pid", "mnt" };
+ conn = virConnectOpen("lxc:///");
+ if (!conn)
+ goto cleanup;
+ dom = virDomainLookupByName(conn, nnsname_pid);
+ if (!dom)
+ goto cleanup;
+ if ((nfdlist = virDomainLxcOpenNamespace(dom, &fdlist, 0)) < 0)
+ goto cleanup;
+ /* Internally above function calls virProcessGetNamespaces
+ * function which opens ns
+ * in the order { "user", "ipc", "uts", "net", "pid", "mnt" }
+ */
+ for (i = 0; i < ARRAY_CARDINALITY(ns); i++) {
+ if (STREQ(ns[i], ns_proc_name)) {
+ fd = fdlist[i];
+ break;
+ }
+ }
+ if (nfdlist > 0)
+ VIR_FREE(fdlist);
+ } else {
+ if (virAsprintf(&path, "/proc/%d/ns/%s", pid, ns_proc_name) < 0)
+ goto cleanup;
+ fd = open(path, O_RDONLY);
+ }
+cleanup:
+ if (dom)
+ virDomainFree(dom);
+ VIR_FREE(path);
+ (fd < 0)? VIR_ERROR(
+ _("failed to open ns %s"), nnsname_pid):
+ VIR_DEBUG("OPENED NAMESPACE : fd %d\n", fd);
+ return fd;
+}
+
+
+/* Used only for containers */
+const struct ns_info ns_info[VIR_DOMAIN_NAMESPACE_LAST] = {
+ [VIR_DOMAIN_NAMESPACE_SHARENET] = {"net", CLONE_NEWNET},
+ [VIR_DOMAIN_NAMESPACE_SHAREIPC] = {"ipc", CLONE_NEWIPC},
+ [VIR_DOMAIN_NAMESPACE_SHAREUTS] = {"uts", CLONE_NEWUTS}
+};
+
+VIR_ENUM_DECL(virDomainNamespace)
+VIR_ENUM_IMPL(virDomainNamespace, VIR_DOMAIN_NAMESPACE_LAST,
+ N_("sharenet"),
+ N_("shareipc"),
+ N_("shareuts"))
+
+static void
+lxcDomainDefNamespaceFree(void *nsdata)
+{
+ int j;
+ lxcDomainDefPtr lxcDef = nsdata;
+ for (j = 0; j < VIR_DOMAIN_NAMESPACE_LAST; j++) {
+ if (lxcDef->ns_inherit_fd[j] > 0) {
+ VIR_FREE(lxcDef->ns_type);
+ VIR_FREE(lxcDef->ns_val);
+#if 0
+ if (VIR_CLOSE(lxcDef->ns_inherit_fd[j]) < 0)
+ virReportSystemError(errno, "%s", _("failed to close file"));
+#endif
+ }
+ }
+ VIR_FREE(nsdata);
+}
+
+static int
+lxcDomainDefNamespaceParse(xmlDocPtr xml ATTRIBUTE_UNUSED,
+ xmlNodePtr root ATTRIBUTE_UNUSED,
+ xmlXPathContextPtr ctxt,
+ void **data)
+{
+ lxcDomainDefPtr lxcDef = NULL;
+ xmlNodePtr *nodes = NULL;
+ bool uses_lxc_ns = false;
+ xmlNodePtr node;
+ int feature;
+ int n;
+ char *tmp = NULL;
+ size_t i;
+ pid_t fd = -1;
+
+ if (xmlXPathRegisterNs(ctxt, BAD_CAST "lxc", BAD_CAST LXC_NAMESPACE_HREF) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Failed to register xml namespace '%s'"),
+ LXC_NAMESPACE_HREF);
+ return -1;
+ }
+
+ if (VIR_ALLOC(lxcDef) < 0)
+ return -1;
+
+ /* Init ns_herit_fd for namespaces */
+ for (i = 0; i < VIR_DOMAIN_NAMESPACE_LAST; i++) {
+ lxcDef->ns_inherit_fd[i] = -1;
+ lxcDef->ns_type[i] = NULL;
+ lxcDef->ns_val[i] = NULL;
+ }
+
+ node = ctxt->node;
+ if ((n = virXPathNodeSet("./lxc:namespace/*", ctxt, &nodes)) < 0)
+ goto error;
+ uses_lxc_ns |= n > 0;
+
+ for (i = 0; i < n; i++) {
+ feature =
+ virDomainNamespaceTypeFromString((const char *) nodes[i]->name);
+ if (feature < 0) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("unsupported Namespace feature: %s"),
+ nodes[i]->name);
+ goto error;
+ }
+
+ ctxt->node = nodes[i];
+
+ switch ((virDomainNamespace) feature) {
+ case VIR_DOMAIN_NAMESPACE_SHARENET:
+ case VIR_DOMAIN_NAMESPACE_SHAREIPC:
+ case VIR_DOMAIN_NAMESPACE_SHAREUTS:
+ {
+ tmp = virXMLPropString(nodes[i], "type");
+ if (tmp == NULL) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("No lxc environment type specified"));
+ goto error;
+ }
+ /* save the tmp so that its needed while writing to xml */
+ lxcDef->ns_type[feature] = tmp;
+ tmp = virXMLPropString(nodes[i], "value");
+ if (tmp == NULL) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("No lxc environment type specified"));
+ goto error;
+ }
+ lxcDef->ns_val[feature] = tmp;
+ /*netns option is only for VIR_DOMAIN_NAMESPACE_SHARENET*/
+ if (STREQ("netns", lxcDef->ns_type[VIR_DOMAIN_NAMESPACE_SHARENET])) {
+ char *path = NULL;
+ if (virAsprintf(&path, "/var/run/netns/%s", tmp) < 0)
+ goto error;
+ fd = open(path, O_RDONLY);
+ VIR_FREE(path);
+ } else {
+ fd = open_ns(tmp, ns_info[feature].proc_name);
+ if (fd < 0) {
+ virReportError(VIR_ERR_XML_ERROR,
+ _("unable to open %s namespace for "
+ "namespace feature '%s'"), tmp,
+ nodes[i]->name);
+ goto error;
+ }
+ }
+ lxcDef->ns_inherit_fd[feature] = fd;
+ }
+ break;
+ case VIR_DOMAIN_NAMESPACE_LAST:
+ break;
+ }
+ }
+ VIR_FREE(nodes);
+ ctxt->node = node;
+ if (uses_lxc_ns)
+ *data = lxcDef;
+ else
+ VIR_FREE(lxcDef);
+ return 0;
+ error:
+ VIR_FREE(nodes);
+ lxcDomainDefNamespaceFree(lxcDef);
+ return -1;
+}
+
+
+static int
+lxcDomainDefNamespaceFormatXML(virBufferPtr buf,
+ void *nsdata)
+{
+ lxcDomainDefPtr lxcDef = nsdata;
+ size_t j;
+
+ if (!lxcDef)
+ return 0;
+
+ virBufferAddLit(buf, "<lxc:namespace>\n");
+ virBufferAdjustIndent(buf, 2);
+
+ for (j = 0; j < VIR_DOMAIN_NAMESPACE_LAST; j++) {
+ switch ((virDomainNamespace) j) {
+ case VIR_DOMAIN_NAMESPACE_SHAREIPC:
+ case VIR_DOMAIN_NAMESPACE_SHAREUTS:
+ case VIR_DOMAIN_NAMESPACE_SHARENET:
+ {
+ if (lxcDef->ns_inherit_fd[j] > 0) {
+ virBufferAsprintf(buf, "<%s type='%s' value='%s'/>\n",
+ virDomainNamespaceTypeToString(j),
+ lxcDef->ns_type[j],
+ lxcDef->ns_val[j]);
+ }
+ }
+ break;
+ case VIR_DOMAIN_NAMESPACE_LAST:
+ break;
+ }
+ }
+
+ virBufferAdjustIndent(buf, -2);
+ virBufferAddLit(buf, "</lxc:namespace>\n");
+ return 0;
+}
+
+static const char *
+lxcDomainDefNamespaceHref(void)
+{
+ return "xmlns:lxc='" LXC_NAMESPACE_HREF "'";
+}
+
+
+virDomainXMLNamespace virLXCDriverDomainXMLNamespace = {
+ .parse = lxcDomainDefNamespaceParse,
+ .free = lxcDomainDefNamespaceFree,
+ .format = lxcDomainDefNamespaceFormatXML,
+ .href = lxcDomainDefNamespaceHref,
+};
+
+
static void virLXCDomainObjPrivateFree(void *data)
{
virLXCDomainObjPrivatePtr priv = data;
@@ -73,7 +322,6 @@ static int virLXCDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt, void *data)
} else {
priv->initpid = thepid;
}
-
return 0;
}
diff --git a/src/lxc/lxc_domain.h b/src/lxc/lxc_domain.h
index 751aece..25df999 100644
--- a/src/lxc/lxc_domain.h
+++ b/src/lxc/lxc_domain.h
@@ -41,6 +41,7 @@ struct _virLXCDomainObjPrivate {
virCgroupPtr cgroup;
};
+extern virDomainXMLNamespace virLXCDriverDomainXMLNamespace;
extern virDomainXMLPrivateDataCallbacks virLXCDriverPrivateDataCallbacks;
extern virDomainDefParserConfig virLXCDriverDomainDefParserConfig;
--
1.9.1
4
8
Since there is a shmobj leak when let qemu create shmobj by
themselves, also the label of shmobj/shmem-server socket
is not right. Guest cannot direct use the shmem-server
if users enabled selinux. So it will be better to manage it
in libvirt.
The way i chosed is region the shmem deivce in a list, and
save it status to a local file to avoid losing it after restart
libvirtd, and count the guest which use it, and let the callers
know if there is no guest is using it (then we can relabel/cleanup
some resource).
Notice: you still cannot use the ivshmem-server if the process label
is not correct, just set the socket label is not enought, selinux
still will forbid qemu use it, because the shmem-server's process is
not correct, you will find the AVC like this (i set up the ivshmem
server via shell):
type=AVC msg=audit(1437642157.227:73784): avc: denied { connectto } for \
pid=6137 comm="qemu-kvm" path="/tmp/ivshmem_socket" \
scontext=system_u:system_r:svirt_t:s0:c703,c707 \
tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tclass=unix_stream_socket
But the problem is we cannot change the running shm-server process label,
We need wait ivshmem-server to be a part of qemu progrem, then setup the
ivshmem-server by libvirt. we cannot do nothing for the ivshmem-server right now.
Luyao Huang (4):
conf: introduce seclabels in shmem device element
security: add security part for shmem device
util: introduce new helpers to manage shmem device
qemu: call the helpers in virshm.c to manage shmem device
configure.ac | 10 +
docs/formatdomain.html.in | 7 +
docs/schemas/domaincommon.rng | 3 +
po/POTFILES.in | 3 +-
src/Makefile.am | 5 +-
src/conf/domain_conf.c | 55 +++-
src/conf/domain_conf.h | 5 +
src/libvirt_private.syms | 18 ++
src/qemu/qemu_conf.h | 3 +
src/qemu/qemu_driver.c | 4 +
src/qemu/qemu_process.c | 158 ++++++++++
src/security/security_dac.c | 67 +++++
src/security/security_driver.h | 11 +
src/security/security_manager.c | 38 +++
src/security/security_manager.h | 8 +
src/security/security_selinux.c | 70 +++++
src/security/security_stack.c | 41 +++
src/util/virshm.c | 623 ++++++++++++++++++++++++++++++++++++++++
src/util/virshm.h | 104 +++++++
19 files changed, 1220 insertions(+), 13 deletions(-)
create mode 100644 src/util/virshm.c
create mode 100644 src/util/virshm.h
--
1.8.3.1
5
34
Hi All
I am currently getting up to speed with the libvirt api, but have noticed
there are some big gaps in the Application Development Guide available on
the libvirt website.
Is there a more recent version of this document available?
Kind regards
Kevin Walker
+968 97651742
2
1
[libvirt] [PATCH] rpc: RH1026137: Fix slow volume download (virsh vol-download)
by Ossi Herrala 03 Aug '15
by Ossi Herrala 03 Aug '15
03 Aug '15
Use I/O vector (iovec) instead of one huge memory buffer as suggested
in https://bugzilla.redhat.com/show_bug.cgi?id=1026137#c7. This avoids
doing memmove() to big buffers and performance doesn't degrade if
source (virNetClientStreamQueuePacket()) is faster than sink
(virNetClientStreamRecvPacket()).
---
src/rpc/virnetclientstream.c | 134 +++++++++++++++++++++++++----------------
1 files changed, 82 insertions(+), 52 deletions(-)
diff --git a/src/rpc/virnetclientstream.c b/src/rpc/virnetclientstream.c
index b428f4b..18c6e8b 100644
--- a/src/rpc/virnetclientstream.c
+++ b/src/rpc/virnetclientstream.c
@@ -49,9 +49,9 @@ struct _virNetClientStream {
* time by stopping consuming any incoming data
* off the socket....
*/
- char *incoming;
- size_t incomingOffset;
- size_t incomingLength;
+ struct iovec *incomingVec; /* I/O Vector to hold data */
+ size_t writeVec; /* Vectors produced */
+ size_t readVec; /* Vectors consumed */
bool incomingEOF;
virNetClientStreamEventCallback cb;
@@ -86,9 +86,9 @@ virNetClientStreamEventTimerUpdate(virNetClientStreamPtr st)
if (!st->cb)
return;
- VIR_DEBUG("Check timer offset=%zu %d", st->incomingOffset, st->cbEvents);
+ VIR_DEBUG("Check timer readVec %zu writeVec %zu %d", st->readVec, st->writeVec, st->cbEvents);
- if (((st->incomingOffset || st->incomingEOF) &&
+ if ((((st->readVec < st->writeVec) || st->incomingEOF) &&
(st->cbEvents & VIR_STREAM_EVENT_READABLE)) ||
(st->cbEvents & VIR_STREAM_EVENT_WRITABLE)) {
VIR_DEBUG("Enabling event timer");
@@ -110,13 +110,14 @@ virNetClientStreamEventTimer(int timer ATTRIBUTE_UNUSED, void *opaque)
if (st->cb &&
(st->cbEvents & VIR_STREAM_EVENT_READABLE) &&
- (st->incomingOffset || st->incomingEOF))
+ ((st->readVec < st->writeVec) || st->incomingEOF))
events |= VIR_STREAM_EVENT_READABLE;
if (st->cb &&
(st->cbEvents & VIR_STREAM_EVENT_WRITABLE))
events |= VIR_STREAM_EVENT_WRITABLE;
- VIR_DEBUG("Got Timer dispatch %d %d offset=%zu", events, st->cbEvents, st->incomingOffset);
+ VIR_DEBUG("Got Timer dispatch %d %d readVec %zu writeVec %zu", events, st->cbEvents,
+ st->readVec, st->writeVec);
if (events) {
virNetClientStreamEventCallback cb = st->cb;
void *cbOpaque = st->cbOpaque;
@@ -161,7 +162,7 @@ void virNetClientStreamDispose(void *obj)
virNetClientStreamPtr st = obj;
virResetError(&st->err);
- VIR_FREE(st->incoming);
+ VIR_FREE(st->incomingVec);
virObjectUnref(st->prog);
}
@@ -265,38 +266,49 @@ int virNetClientStreamQueuePacket(virNetClientStreamPtr st,
virNetMessagePtr msg)
{
int ret = -1;
- size_t need;
+ struct iovec iov;
+ char *base;
+ size_t piece, pieces, length, offset = 0, size = 1024*1024;
virObjectLock(st);
- need = msg->bufferLength - msg->bufferOffset;
- if (need) {
- size_t avail = st->incomingLength - st->incomingOffset;
- if (need > avail) {
- size_t extra = need - avail;
- if (VIR_REALLOC_N(st->incoming,
- st->incomingLength + extra) < 0) {
- VIR_DEBUG("Out of memory handling stream data");
- goto cleanup;
- }
- st->incomingLength += extra;
- }
- memcpy(st->incoming + st->incomingOffset,
- msg->buffer + msg->bufferOffset,
- msg->bufferLength - msg->bufferOffset);
- st->incomingOffset += (msg->bufferLength - msg->bufferOffset);
- } else {
+ length = msg->bufferLength - msg->bufferOffset;
+
+ if (length == 0) {
st->incomingEOF = true;
+ goto end;
}
- VIR_DEBUG("Stream incoming data offset %zu length %zu EOF %d",
- st->incomingOffset, st->incomingLength,
- st->incomingEOF);
+ pieces = (length + size - 1) / size;
+ for (piece = 0; piece < pieces; piece++) {
+ if (size > length - offset)
+ size = length - offset;
+
+ if (VIR_ALLOC_N(base, size)) {
+ VIR_DEBUG("Allocation failed");
+ goto cleanup;
+ }
+
+ memcpy(base, msg->buffer + msg->bufferOffset + offset, size);
+ iov.iov_base = base;
+ iov.iov_len = size;
+ offset += size;
+
+ if (VIR_APPEND_ELEMENT(st->incomingVec, st->writeVec, iov) < 0) {
+ VIR_DEBUG("Append failed");
+ VIR_FREE(base);
+ goto cleanup;
+ }
+ VIR_DEBUG("Wrote piece of vector. readVec %zu, writeVec %zu size %zu", st->readVec, st->writeVec, size);
+ }
+
+ end:
virNetClientStreamEventTimerUpdate(st);
-
ret = 0;
cleanup:
+ VIR_DEBUG("Stream incoming data readVec %zu writeVec %zu EOF %d",
+ st->readVec, st->writeVec, st->incomingEOF);
virObjectUnlock(st);
return ret;
}
@@ -361,17 +373,21 @@ int virNetClientStreamRecvPacket(virNetClientStreamPtr st,
size_t nbytes,
bool nonblock)
{
- int rv = -1;
+ int ret = -1;
+ size_t partial, offset;
+
+ virObjectLock(st);
+
VIR_DEBUG("st=%p client=%p data=%p nbytes=%zu nonblock=%d",
st, client, data, nbytes, nonblock);
- virObjectLock(st);
- if (!st->incomingOffset && !st->incomingEOF) {
+
+ if ((st->readVec >= st->writeVec) && !st->incomingEOF) {
virNetMessagePtr msg;
- int ret;
+ int rv;
if (nonblock) {
VIR_DEBUG("Non-blocking mode and no data available");
- rv = -2;
+ ret = -2;
goto cleanup;
}
@@ -387,37 +403,51 @@ int virNetClientStreamRecvPacket(virNetClientStreamPtr st,
VIR_DEBUG("Dummy packet to wait for stream data");
virObjectUnlock(st);
- ret = virNetClientSendWithReplyStream(client, msg, st);
+ rv = virNetClientSendWithReplyStream(client, msg, st);
virObjectLock(st);
virNetMessageFree(msg);
- if (ret < 0)
+ if (rv < 0)
goto cleanup;
}
- VIR_DEBUG("After IO %zu", st->incomingOffset);
- if (st->incomingOffset) {
- int want = st->incomingOffset;
- if (want > nbytes)
- want = nbytes;
- memcpy(data, st->incoming, want);
- if (want < st->incomingOffset) {
- memmove(st->incoming, st->incoming + want, st->incomingOffset - want);
- st->incomingOffset -= want;
+ offset = 0;
+ partial = nbytes;
+
+ while (st->incomingVec && (st->readVec < st->writeVec)) {
+ struct iovec *iov = st->incomingVec + st->readVec;
+
+ if (!iov || !iov->iov_base) {
+ VIR_DEBUG("NULL pointer");
+ goto cleanup;
+ }
+
+ if (partial < iov->iov_len) {
+ memcpy(data+offset, iov->iov_base, partial);
+ memmove(iov->iov_base, (char*)iov->iov_base+partial, iov->iov_len-partial);
+ iov->iov_len -= partial;
+ offset += partial;
+ VIR_DEBUG("Consumed %zu, left %zu", partial, iov->iov_len);
+ break;
} else {
- VIR_FREE(st->incoming);
- st->incomingOffset = st->incomingLength = 0;
+ memcpy(data+offset, iov->iov_base, iov->iov_len);
+ VIR_DEBUG("Consumed %zu. Moving to next piece", iov->iov_len);
+ partial -= iov->iov_len;
+ offset += iov->iov_len;
+ VIR_FREE(iov->iov_base);
+ iov->iov_len = 0;
+ st->readVec++;
}
- rv = want;
- } else {
- rv = 0;
+
+ VIR_DEBUG("Read piece of vector. read %zu readVec %zu, writeVec %zu", offset, st->readVec, st->writeVec);
}
+ ret = offset;
virNetClientStreamEventTimerUpdate(st);
cleanup:
virObjectUnlock(st);
- return rv;
+ return ret;
}
--
1.7.1
2
3
[libvirt] [PATCH] qemu: fix some api cannot work when disable cpuset in conf
by Luyao Huang 03 Aug '15
by Luyao Huang 03 Aug '15
03 Aug '15
https://bugzilla.redhat.com/show_bug.cgi?id=1244664
If user disable cpuset in qemu.conf, we shouldn't
try to use it, also shouldn't make some command which
can work without cpuset cannot work.
Fix these case:
1. start guest with strict numa policy (we can use libnuma help us).
2. Hot add vcpu.
3. hot add iothread.
Signed-off-by: Luyao Huang <lhuang(a)redhat.com>
---
src/qemu/qemu_cgroup.c | 16 ++++++++--------
src/qemu/qemu_driver.c | 10 +++++++---
2 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
index 8ed74ee..640a223 100644
--- a/src/qemu/qemu_cgroup.c
+++ b/src/qemu/qemu_cgroup.c
@@ -1028,10 +1028,6 @@ qemuSetupCgroupForVcpu(virDomainObjPtr vm)
if (virCgroupAddTask(cgroup_vcpu, priv->vcpupids[i]) < 0)
goto cleanup;
- if (mem_mask &&
- virCgroupSetCpusetMems(cgroup_vcpu, mem_mask) < 0)
- goto cleanup;
-
if (period || quota) {
if (qemuSetupCgroupVcpuBW(cgroup_vcpu, period, quota) < 0)
goto cleanup;
@@ -1041,6 +1037,10 @@ qemuSetupCgroupForVcpu(virDomainObjPtr vm)
if (virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET)) {
virBitmapPtr cpumap = NULL;
+ if (mem_mask &&
+ virCgroupSetCpusetMems(cgroup_vcpu, mem_mask) < 0)
+ goto cleanup;
+
/* try to use the default cpu maps */
if (vm->def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO)
cpumap = priv->autoCpuset;
@@ -1205,15 +1205,15 @@ qemuSetupCgroupForIOThreads(virDomainObjPtr vm)
goto cleanup;
}
- if (mem_mask &&
- virCgroupSetCpusetMems(cgroup_iothread, mem_mask) < 0)
- goto cleanup;
-
/* Set iothreadpin in cgroup if iothreadpin xml is provided */
if (virCgroupHasController(priv->cgroup,
VIR_CGROUP_CONTROLLER_CPUSET)) {
virBitmapPtr cpumask = NULL;
+ if (mem_mask &&
+ virCgroupSetCpusetMems(cgroup_iothread, mem_mask) < 0)
+ goto cleanup;
+
if (def->iothreadids[i]->cpumask)
cpumask = def->iothreadids[i]->cpumask;
else if (def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index f352a88..bb7cef4 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -4597,7 +4597,9 @@ qemuDomainAddCgroupForThread(virCgroupPtr cgroup,
if (virCgroupNewThread(cgroup, nameval, idx, true, &new_cgroup) < 0)
return NULL;
- if (mem_mask && virCgroupSetCpusetMems(new_cgroup, mem_mask) < 0)
+ if (mem_mask &&
+ virCgroupHasController(cgroup, VIR_CGROUP_CONTROLLER_CPUSET) &&
+ virCgroupSetCpusetMems(new_cgroup, mem_mask) < 0)
goto error;
/* Add pid/thread to the cgroup */
@@ -4653,7 +4655,8 @@ qemuDomainHotplugPinThread(virBitmapPtr cpumask,
{
int ret = -1;
- if (cgroup) {
+ if (cgroup &&
+ virCgroupHasController(cgroup, VIR_CGROUP_CONTROLLER_CPUSET)) {
if (qemuSetupCgroupCpusetCpus(cgroup, cpumask) < 0) {
virReportError(VIR_ERR_OPERATION_INVALID,
_("failed to set cpuset.cpus in cgroup for id %d"),
@@ -4896,7 +4899,8 @@ qemuDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
if (virDomainObjGetDefs(vm, flags, &def, &persistentDef) < 0)
goto endjob;
- if (def && !(flags & VIR_DOMAIN_VCPU_GUEST) && virNumaIsAvailable()) {
+ if (def && !(flags & VIR_DOMAIN_VCPU_GUEST) && virNumaIsAvailable() &&
+ virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET)) {
if (virCgroupNewThread(priv->cgroup, VIR_CGROUP_THREAD_EMULATOR, 0,
false, &cgroup_temp) < 0)
goto endjob;
--
1.8.3.1
3
2
[libvirt] [PATCH 0/2] Added waiting for DAD to finish for bridge address.
by Maxim Perevedentsev 01 Aug '15
by Maxim Perevedentsev 01 Aug '15
01 Aug '15
This is a fix for commit db488c79173b240459c7754f38c3c6af9b432970
dnsmasq main process which is relied on when waiting for DAD to complete
exits without actually waiting for DAD. This is dnsmasq daemon's task.
It seems to be a race that DAD finished before dnsmasq main process exited.
The above commit needs the execution to block until DAD finishes
for bridge IPv6 address because then it closes dummy tap device.
Thus we need to ensure this ourselves.
So we periodically poll the kernel using netlink and
check whether there are any IPv6 addresses assigned to bridge
which have 'tentative' state. After DAD is finished, execution continues.
I guess that is what dnsmasq was assumed to do.
We use netlink to dump information about existing IPv6 addresses. Netlink's
response is a multi-part message. Unfortunately, the current implementation
of virNetlink treats such messages as faulty and throws an error. So the patch 2/2
adds multi-part nelink response support.
Maxim Perevedentsev (2):
network: added waiting for DAD to finish for bridge address.
netlink: add support for multi-part netlink messages.
src/network/bridge_driver.c | 109 +++++++++++++++++++++++++++++++++++++++++++-
src/util/virnetlink.c | 4 +-
2 files changed, 111 insertions(+), 2 deletions(-)
--
Sincerely,
Maxim Perevedentsev
1
2
Hi,
I've a question on whether it's 'safe' to change the socket type
used in virNetxxx calls from AF_PACKET to AF_LOCAL ?
The reason I ask is that we're using libvirt-lxc with a couple of
bridge interfaces, and we've found that the socket close call on
AF_PACKET type sockets takes between 40ms and 60ms. For our container
config there is roughly 12 close calls on AF_PACKET sockets, delaying
the start-up of the LXC container by around 450ms.
So a simple fix to speed up our container start-up is to just
switch from AF_PACKET to AF_LOCAL sockets. Hence my question on whether
we can safely do this, or is there some reason why AF_PACKET was chosen ?
Thanks in advance,
Ben.
FWIW - I believe that AF_PACKET sockets take so long to close is because
the kernel packet driver calls synchronize_net() when closing.
2
2
The naming of files and symbols belonging to the ppc64 CPU
driver was all over the place: this series brings
inner-peace-inducing consistency to that corner of libvirt
via a series of straightforward string replacements.
More substantial changes coming next.
Andrea Bolognani (4):
cpu: Rename {powerpc,ppc} => ppc64 (filesystem)
cpu: Rename {powerpc,ppc} => ppc64 (exported symbols)
cpu: Rename {powerpc,ppc} => ppc64 (internal symbols)
cpu: Indentation changes in the ppc64 driver
po/POTFILES.in | 2 +-
src/Makefile.am | 5 +-
src/cpu/cpu.c | 4 +-
src/cpu/cpu.h | 4 +-
src/cpu/cpu_powerpc.c | 711 ----------------------------------------------
src/cpu/cpu_powerpc.h | 32 ---
src/cpu/cpu_ppc64.c | 712 +++++++++++++++++++++++++++++++++++++++++++++++
src/cpu/cpu_ppc64.h | 32 +++
src/cpu/cpu_ppc64_data.h | 33 +++
src/cpu/cpu_ppc_data.h | 33 ---
10 files changed, 785 insertions(+), 783 deletions(-)
delete mode 100644 src/cpu/cpu_powerpc.c
delete mode 100644 src/cpu/cpu_powerpc.h
create mode 100644 src/cpu/cpu_ppc64.c
create mode 100644 src/cpu/cpu_ppc64.h
create mode 100644 src/cpu/cpu_ppc64_data.h
delete mode 100644 src/cpu/cpu_ppc_data.h
--
2.4.3
2
5
[libvirt] [PATCH] qemu: Reject migration with memory-hotplug if destination doesn't support it
by Peter Krempa 31 Jul '15
by Peter Krempa 31 Jul '15
31 Jul '15
If destination libvirt doesn't support memory hotplug since all the
support was introduced by adding new elements the destination would
attempt to start qemu with an invalid configuration. The worse part is
that qemu might hang in such situation.
Fix this by sending a required migration feature called 'memory-hotplug'
to the destination. If the destination doesn't recognize it it will fail
the migration.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1248350
---
src/qemu/qemu_migration.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index f5866c4..824126f 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -86,6 +86,7 @@ enum qemuMigrationCookieFlags {
QEMU_MIGRATION_COOKIE_FLAG_NETWORK,
QEMU_MIGRATION_COOKIE_FLAG_NBD,
QEMU_MIGRATION_COOKIE_FLAG_STATS,
+ QEMU_MIGRATION_COOKIE_FLAG_MEMORY_HOTPLUG,
QEMU_MIGRATION_COOKIE_FLAG_LAST
};
@@ -98,7 +99,8 @@ VIR_ENUM_IMPL(qemuMigrationCookieFlag,
"persistent",
"network",
"nbd",
- "statistics");
+ "statistics",
+ "memory-hotplug");
enum qemuMigrationCookieFeatures {
QEMU_MIGRATION_COOKIE_GRAPHICS = (1 << QEMU_MIGRATION_COOKIE_FLAG_GRAPHICS),
@@ -107,6 +109,7 @@ enum qemuMigrationCookieFeatures {
QEMU_MIGRATION_COOKIE_NETWORK = (1 << QEMU_MIGRATION_COOKIE_FLAG_NETWORK),
QEMU_MIGRATION_COOKIE_NBD = (1 << QEMU_MIGRATION_COOKIE_FLAG_NBD),
QEMU_MIGRATION_COOKIE_STATS = (1 << QEMU_MIGRATION_COOKIE_FLAG_STATS),
+ QEMU_MIGRATION_COOKIE_MEMORY_HOTPLUG = (1 << QEMU_MIGRATION_COOKIE_FLAG_MEMORY_HOTPLUG),
};
typedef struct _qemuMigrationCookieGraphics qemuMigrationCookieGraphics;
@@ -1352,6 +1355,9 @@ qemuMigrationBakeCookie(qemuMigrationCookiePtr mig,
qemuMigrationCookieAddStatistics(mig, dom) < 0)
return -1;
+ if (flags & QEMU_MIGRATION_COOKIE_MEMORY_HOTPLUG)
+ mig->flagsMandatory |= QEMU_MIGRATION_COOKIE_MEMORY_HOTPLUG;
+
if (!(*cookieout = qemuMigrationCookieXMLFormatStr(driver, mig)))
return -1;
@@ -2974,6 +2980,11 @@ qemuMigrationBeginPhase(virQEMUDriverPtr driver,
}
}
+ if (vm->def->mem.max_memory ||
+ (vm->newDef &&
+ vm->newDef->mem.max_memory))
+ cookieFlags |= QEMU_MIGRATION_COOKIE_MEMORY_HOTPLUG;
+
if (!(mig = qemuMigrationEatCookie(driver, vm, NULL, 0, 0)))
goto cleanup;
--
2.4.5
2
2
31 Jul '15
When stopping a domain on the destination host after a failed migration,
we need to avoid reseting security labels since the domain is still
running on the source host. While we were correctly doing so in some
cases, there were still some paths which did this wrong.
https://bugzilla.redhat.com/show_bug.cgi?id=1242904
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
Notes:
Version 2:
- fix qemuProcessStop call in qemuProcessReconnect
src/qemu/qemu_driver.c | 5 ++++-
src/qemu/qemu_migration.c | 3 ++-
src/qemu/qemu_process.c | 19 ++++++++++++++-----
3 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 5b22639..b9278f8 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -2187,6 +2187,7 @@ qemuDomainDestroyFlags(virDomainPtr dom,
int ret = -1;
virObjectEventPtr event = NULL;
qemuDomainObjPrivatePtr priv;
+ unsigned int stopFlags = 0;
virCheckFlags(VIR_DOMAIN_DESTROY_GRACEFUL, -1);
@@ -2200,6 +2201,8 @@ qemuDomainDestroyFlags(virDomainPtr dom,
qemuDomainSetFakeReboot(driver, vm, false);
+ if (priv->job.asyncJob == QEMU_ASYNC_JOB_MIGRATION_IN)
+ stopFlags |= VIR_QEMU_PROCESS_STOP_MIGRATED;
/* We need to prevent monitor EOF callback from doing our work (and sending
* misleading events) while the vm is unlocked inside BeginJob/ProcessKill API
@@ -2234,7 +2237,7 @@ qemuDomainDestroyFlags(virDomainPtr dom,
goto endjob;
}
- qemuProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_DESTROYED, 0);
+ qemuProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_DESTROYED, stopFlags);
event = virDomainEventLifecycleNewFromObj(vm,
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index f5866c4..364c489 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -3463,7 +3463,8 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
stop:
virDomainAuditStart(vm, "migrated", false);
- qemuProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED, 0);
+ qemuProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED,
+ VIR_QEMU_PROCESS_STOP_MIGRATED);
endjob:
qemuMigrationJobFinish(driver, vm);
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 23baa82..694c5cd 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -285,6 +285,7 @@ qemuProcessHandleMonitorEOF(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
int eventReason = VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN;
int stopReason = VIR_DOMAIN_SHUTOFF_SHUTDOWN;
const char *auditReason = "shutdown";
+ unsigned int stopFlags = 0;
VIR_DEBUG("Received EOF on %p '%s'", vm, vm->def->name);
@@ -310,14 +311,16 @@ qemuProcessHandleMonitorEOF(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
auditReason = "failed";
}
- if (priv->job.asyncJob == QEMU_ASYNC_JOB_MIGRATION_IN)
+ if (priv->job.asyncJob == QEMU_ASYNC_JOB_MIGRATION_IN) {
+ stopFlags |= VIR_QEMU_PROCESS_STOP_MIGRATED;
qemuMigrationErrorSave(driver, vm->def->name,
qemuMonitorLastError(priv->mon));
+ }
event = virDomainEventLifecycleNewFromObj(vm,
VIR_DOMAIN_EVENT_STOPPED,
eventReason);
- qemuProcessStop(driver, vm, stopReason, 0);
+ qemuProcessStop(driver, vm, stopReason, stopFlags);
virDomainAuditStop(vm, auditReason);
if (!vm->persistent) {
@@ -3732,10 +3735,13 @@ qemuProcessReconnect(void *opaque)
virQEMUDriverConfigPtr cfg;
size_t i;
int ret;
+ unsigned int stopFlags = 0;
VIR_FREE(data);
qemuDomainObjRestoreJob(obj, &oldjob);
+ if (oldjob.asyncJob == QEMU_ASYNC_JOB_MIGRATION_IN)
+ stopFlags |= VIR_QEMU_PROCESS_STOP_MIGRATED;
cfg = virQEMUDriverGetConfig(driver);
priv = obj->privateData;
@@ -3916,7 +3922,7 @@ qemuProcessReconnect(void *opaque)
* really is and FAILED means "failed to start" */
state = VIR_DOMAIN_SHUTOFF_UNKNOWN;
}
- qemuProcessStop(driver, obj, state, 0);
+ qemuProcessStop(driver, obj, state, stopFlags);
}
if (!obj->persistent)
@@ -5693,9 +5699,13 @@ qemuProcessAutoDestroy(virDomainObjPtr dom,
virQEMUDriverPtr driver = opaque;
qemuDomainObjPrivatePtr priv = dom->privateData;
virObjectEventPtr event = NULL;
+ unsigned int stopFlags = 0;
VIR_DEBUG("vm=%s, conn=%p", dom->def->name, conn);
+ if (priv->job.asyncJob == QEMU_ASYNC_JOB_MIGRATION_IN)
+ stopFlags |= VIR_QEMU_PROCESS_STOP_MIGRATED;
+
if (priv->job.asyncJob) {
VIR_DEBUG("vm=%s has long-term job active, cancelling",
dom->def->name);
@@ -5708,8 +5718,7 @@ qemuProcessAutoDestroy(virDomainObjPtr dom,
VIR_DEBUG("Killing domain");
- qemuProcessStop(driver, dom, VIR_DOMAIN_SHUTOFF_DESTROYED,
- VIR_QEMU_PROCESS_STOP_MIGRATED);
+ qemuProcessStop(driver, dom, VIR_DOMAIN_SHUTOFF_DESTROYED, stopFlags);
virDomainAuditStop(dom, "destroyed");
event = virDomainEventLifecycleNewFromObj(dom,
--
2.5.0
2
1
31 Jul '15
When stopping a domain on the destination host after a failed migration,
we need to avoid reseting security labels since the domain is still
running on the source host. While we were correctly doing so in some
cases, there were still some paths which did this wrong.
https://bugzilla.redhat.com/show_bug.cgi?id=1242904
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/qemu/qemu_driver.c | 5 ++++-
src/qemu/qemu_migration.c | 3 ++-
src/qemu/qemu_process.c | 14 ++++++++++----
3 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 5b22639..b9278f8 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -2187,6 +2187,7 @@ qemuDomainDestroyFlags(virDomainPtr dom,
int ret = -1;
virObjectEventPtr event = NULL;
qemuDomainObjPrivatePtr priv;
+ unsigned int stopFlags = 0;
virCheckFlags(VIR_DOMAIN_DESTROY_GRACEFUL, -1);
@@ -2200,6 +2201,8 @@ qemuDomainDestroyFlags(virDomainPtr dom,
qemuDomainSetFakeReboot(driver, vm, false);
+ if (priv->job.asyncJob == QEMU_ASYNC_JOB_MIGRATION_IN)
+ stopFlags |= VIR_QEMU_PROCESS_STOP_MIGRATED;
/* We need to prevent monitor EOF callback from doing our work (and sending
* misleading events) while the vm is unlocked inside BeginJob/ProcessKill API
@@ -2234,7 +2237,7 @@ qemuDomainDestroyFlags(virDomainPtr dom,
goto endjob;
}
- qemuProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_DESTROYED, 0);
+ qemuProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_DESTROYED, stopFlags);
event = virDomainEventLifecycleNewFromObj(vm,
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index f5866c4..364c489 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -3463,7 +3463,8 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
stop:
virDomainAuditStart(vm, "migrated", false);
- qemuProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED, 0);
+ qemuProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED,
+ VIR_QEMU_PROCESS_STOP_MIGRATED);
endjob:
qemuMigrationJobFinish(driver, vm);
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 23baa82..978dc21 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -285,6 +285,7 @@ qemuProcessHandleMonitorEOF(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
int eventReason = VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN;
int stopReason = VIR_DOMAIN_SHUTOFF_SHUTDOWN;
const char *auditReason = "shutdown";
+ unsigned int stopFlags = 0;
VIR_DEBUG("Received EOF on %p '%s'", vm, vm->def->name);
@@ -310,14 +311,16 @@ qemuProcessHandleMonitorEOF(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
auditReason = "failed";
}
- if (priv->job.asyncJob == QEMU_ASYNC_JOB_MIGRATION_IN)
+ if (priv->job.asyncJob == QEMU_ASYNC_JOB_MIGRATION_IN) {
+ stopFlags |= VIR_QEMU_PROCESS_STOP_MIGRATED;
qemuMigrationErrorSave(driver, vm->def->name,
qemuMonitorLastError(priv->mon));
+ }
event = virDomainEventLifecycleNewFromObj(vm,
VIR_DOMAIN_EVENT_STOPPED,
eventReason);
- qemuProcessStop(driver, vm, stopReason, 0);
+ qemuProcessStop(driver, vm, stopReason, stopFlags);
virDomainAuditStop(vm, auditReason);
if (!vm->persistent) {
@@ -5693,9 +5696,13 @@ qemuProcessAutoDestroy(virDomainObjPtr dom,
virQEMUDriverPtr driver = opaque;
qemuDomainObjPrivatePtr priv = dom->privateData;
virObjectEventPtr event = NULL;
+ unsigned int stopFlags = 0;
VIR_DEBUG("vm=%s, conn=%p", dom->def->name, conn);
+ if (priv->job.asyncJob == QEMU_ASYNC_JOB_MIGRATION_IN)
+ stopFlags |= VIR_QEMU_PROCESS_STOP_MIGRATED;
+
if (priv->job.asyncJob) {
VIR_DEBUG("vm=%s has long-term job active, cancelling",
dom->def->name);
@@ -5708,8 +5715,7 @@ qemuProcessAutoDestroy(virDomainObjPtr dom,
VIR_DEBUG("Killing domain");
- qemuProcessStop(driver, dom, VIR_DOMAIN_SHUTOFF_DESTROYED,
- VIR_QEMU_PROCESS_STOP_MIGRATED);
+ qemuProcessStop(driver, dom, VIR_DOMAIN_SHUTOFF_DESTROYED, stopFlags);
virDomainAuditStop(dom, "destroyed");
event = virDomainEventLifecycleNewFromObj(dom,
--
2.5.0
2
2
31 Jul '15
s/virDomainFindBy/virDomainObjListFindBy/
Signed-off-by: Cao jin <caoj.fnst(a)cn.fujitsu.com>
---
src/qemu/THREADS.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/THREADS.txt b/src/qemu/THREADS.txt
index f3502b4..22d590e 100644
--- a/src/qemu/THREADS.txt
+++ b/src/qemu/THREADS.txt
@@ -25,7 +25,7 @@ There are a number of locks on various objects
* virDomainObjPtr
- Will be locked after calling any of the virDomainFindBy{ID,Name,UUID}
+ Will be locked after calling any of the virDomainObjListFindBy{ID,Name,UUID}
methods. However, preferred method is qemuDomObjFromDomain() that uses
virDomainFindByUUIDRef() which also increases the reference counter and
finds the domain in the domain list without blocking all other lookups.
--
2.1.0
2
1
31 Jul '15
In addition to checking the current asynchronous job
qemuMigrationJobIsActive reports an error if the current job does not
match the one we asked for. Let's just check the job directly since we
are not interested in the error in qemuProcessHandleMonitorEOF.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/qemu/qemu_process.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 1c0c734..23baa82 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -310,7 +310,7 @@ qemuProcessHandleMonitorEOF(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
auditReason = "failed";
}
- if (qemuMigrationJobIsActive(vm, QEMU_ASYNC_JOB_MIGRATION_IN))
+ if (priv->job.asyncJob == QEMU_ASYNC_JOB_MIGRATION_IN)
qemuMigrationErrorSave(driver, vm->def->name,
qemuMonitorLastError(priv->mon));
--
2.5.0
2
1
Hello,
virt-sandbox-image.py is a python script that lets you download and run templates
from supported sources using virt-sandbox.
Component-based archictecture is accomplished through Source base class.
Docker image support is added through DockerSource.
DockerSource is capable of downloading and running Docker images by consuming Docker Registry API.
Daniel P Berrange (1):
Add virt-sandbox-image
Eren Yagdiran (10):
Fix virt-sandbox-image
Image: Add Hooking Mechanism
Image: Add download function
Image: Refactor create function
Image: Add delete function
Image: Add get_command function to Source
Image: Add run args
Image: Add check_driver function
Image: Add get_disk function to Source
Image: Add run function
po/POTFILES.in | 1 +
virt-sandbox-image/sources/DockerSource.py | 364 +++++++++++++++++++++++++++++
virt-sandbox-image/sources/Source.py | 27 +++
virt-sandbox-image/virt-sandbox-image.py | 233 ++++++++++++++++++
4 files changed, 625 insertions(+)
create mode 100644 virt-sandbox-image/sources/DockerSource.py
create mode 100644 virt-sandbox-image/sources/Source.py
create mode 100644 virt-sandbox-image/virt-sandbox-image.py
--
2.1.0
4
23
As planned and after pushing the small fix for the 'make dist' issue
I have tagged in git the candidate release 1 and pushed signed tarballs
and rpms to the usual place:
ftp://libvirt.org/libvirt/
Seems to work so far for me, please give it a try !
I think I will push rc2 on Wed or Thu and have the release
over next week-end,
Play with it,
thanks !
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
1
1
[libvirt] [libvirt-test-api][PATCH] Introduce new test case for setMemoryStatsPeriod
by Luyao Huang 31 Jul '15
by Luyao Huang 31 Jul '15
31 Jul '15
Signed-off-by: Luyao Huang <lhuang(a)redhat.com>
---
cases/linux_domain.conf | 6 +++
repos/domain/set_memory_period.py | 84 +++++++++++++++++++++++++++++++++++++++
2 files changed, 90 insertions(+)
create mode 100644 repos/domain/set_memory_period.py
diff --git a/cases/linux_domain.conf b/cases/linux_domain.conf
index 9f64226..fd32aad 100644
--- a/cases/linux_domain.conf
+++ b/cases/linux_domain.conf
@@ -275,6 +275,12 @@ domain:virDomain_getCPUStats
conn
qemu:///system
+domain:set_memory_period
+ guestname
+ $defaultname
+ conn
+ qemu:///system
+
domain:destroy
guestname
$defaultname
diff --git a/repos/domain/set_memory_period.py b/repos/domain/set_memory_period.py
new file mode 100644
index 0000000..56b71ae
--- /dev/null
+++ b/repos/domain/set_memory_period.py
@@ -0,0 +1,84 @@
+#!/usr/bin/env python
+
+import libvirt
+from libvirt import libvirtError
+import lxml
+import lxml.etree
+
+required_params = ('guestname',)
+optional_params = {'conn': 'qemu:///system'}
+
+def get_period_fromxml(vm, running):
+ if (running == 1):
+ tree = lxml.etree.fromstring(vm.XMLDesc(0))
+ else:
+ tree = lxml.etree.fromstring(vm.XMLDesc(libvirt.VIR_DOMAIN_XML_INACTIVE))
+
+ set = tree.xpath("//memballoon/stats")
+ if len(set) == 0:
+ return 0
+ for n in set:
+ period = n.attrib['period']
+ return period
+
+def check_memoryStats(vm):
+ memstats = vm.memoryStats()
+ try:
+ available = memstats["available"]
+ if available:
+ logger.info("can get available from memoryStats()")
+ return 0
+ except KeyError:
+ logger.info("cannot get available from memoryStats()")
+ return 1
+
+def set_memory_period(params):
+ """
+ test API for setMemoryStatsPeriod in class virDomain
+ """
+ global logger
+ logger = params['logger']
+ fail=0
+
+ try:
+ conn = libvirt.open(params['conn'])
+
+ logger.info("get connection to libvirtd")
+ guest = params['guestname']
+ vm = conn.lookupByName(guest)
+ logger.info("test guest name: %s" % guest)
+
+ """ test with running vm """
+ if vm.isActive() == 1:
+ logger.info("guest is running test with running guest")
+ period = int(get_period_fromxml(vm, 1))
+ if period == 0:
+ vm.setMemoryStatsPeriod(1, libvirt.VIR_DOMAIN_AFFECT_LIVE)
+ if int(get_period_fromxml(vm, 1)) != 1:
+ logger.error("Period value from xml is not right")
+ fail = 1
+ elif check_memoryStats(vm) == 0:
+ period = 1
+ else:
+ fail = 1
+
+ if period > 0:
+ if check_memoryStats(vm) == 0:
+ vm.setMemoryStatsPeriod(period + 1, libvirt.VIR_DOMAIN_AFFECT_LIVE)
+ if int(get_period_fromxml(vm, 1)) != period + 1:
+ logger.error("Period value from xml is not right")
+ fail = 1
+ else:
+ fail = 1
+
+ """ test with vm config """
+ period = int(get_period_fromxml(vm, 0))
+ vm.setMemoryStatsPeriod(period + 1, libvirt.VIR_DOMAIN_AFFECT_CONFIG)
+ if int(get_period_fromxml(vm, 0)) != period + 1:
+ logger.error("Period value from xml is not right")
+ fail = 1
+
+ except libvirtError, e:
+ logger.error("API error message: %s" % e.message)
+ fail=1
+ return fail
--
1.8.3.1
2
1
30 Jul '15
This is an attempt to fix:
Libvirt BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1180486
Libvirt currently assumes ISA_based floppy disks to be available across all
architectures and machine types. However, PowerPC Book 3S compatible ('ie pseries)
virtual machines do not support Floppy disks.
This patch series prevents libvirt from launching ppc64[le] -based 'pseries'
VMs with floppy devices.
---
Kothapally Madhu Pavan (2):
Caps: Disable floppy disk for PowerPC Vm
Avoid starting a PowerPC VM with floppy disk
src/conf/domain_conf.c | 19 +++++++++++++----
src/qemu/qemu_capabilities.c | 15 ++++++++++---
src/qemu/qemu_command.c | 47 ++++++++++++++++++++++++++++++++++++++++--
3 files changed, 71 insertions(+), 10 deletions(-)
--
4
7
30 Jul '15
Only patch 1/5 has been updated, all the other patches
are the same as v8:
2/5 https://www.redhat.com/archives/libvir-list/2015-July/msg01045.html
3/5 https://www.redhat.com/archives/libvir-list/2015-July/msg01048.html
4/5 https://www.redhat.com/archives/libvir-list/2015-July/msg01049.html
5/5 https://www.redhat.com/archives/libvir-list/2015-July/msg01050.html
I'm including the full history below.
Cheers.
Changes in v10:
* don't attempt to close a file that wasn't opened
* report a detailed error to help with diagnosis
Changes in v9:
* take into account the fact that kvm might not be loaded
or even installed
Changes in v8:
* shortened test names so that make dist doesn't
stop working again
Changes in v7:
* rebased on top of master now that the series this one
builds on have been merged
Changes in v6:
* updated to work on top of
[PATCH v2 00/10] nodeinfo: Various cleanups
Changes in v5:
* streamlined the logic used to decide whether the subcore
configuration is valid and moved it to a separate function
* split the tests into separate commits for easier review and
to hopefully avoid having trouble with the list due to the
message size
Changes in v4:
* removed a printf() statement
* fixed typo in a commit message
Changes in v3:
* the function to get the number of threads per subcore
has been moved to the from virarch.c, which deals with
architecture names only and is therefore not the right
place to read host configuration, to nodeinfo.c where
the rest of this stuff lives
* said function has also been given a shorter name
* the "valid subcore mode" boolean has been removed:
threads_per_subcore will be a positive number if
subcores should be taken into account, and if that's
not the case (x86 host, tainted configuration) it
will simply be zero, so now the code needs to keep
track of a single variable instead of two
* the test case has been renamed to be more
descriptive
* the test data has been cleaned up by removing all
cpu/cpu*/node* links, which prevented 'make dist'
from working due to recursive linking
Andrea Bolognani (3):
tests: Add subcores1 nodeinfo test
tests: Add subcores2 nodeinfo test
tests: Add subcores3 nodeinfo test
Shivaprasad G Bhat (2):
nodeinfo: Fix output on PPC64 KVM hosts
tests: Prepare for subcore tests
src/libvirt_private.syms | 1 +
src/nodeinfo.c | 159 ++++++++++++++++++++-
src/nodeinfo.h | 1 +
tests/Makefile.am | 6 +
[...]
tests/nodeinfomock.c | 35 +++++
tests/nodeinfotest.c | 8 +-
1348 files changed, 2140 insertions(+), 6 deletions(-)
[...]
create mode 100644 tests/nodeinfomock.c
--
2.4.3
2
3
See <http://honk.sigxcpu.org:8001/job/libvirt-syntax-check/3732/>
------------------------------------------
Started by upstream project "libvirt-build" build number 4256
Building on master in workspace <http://honk.sigxcpu.org:8001/job/libvirt-syntax-check/ws/>
[workspace] $ /bin/sh -xe /tmp/hudson3362415966189127246.sh
+ make syntax-check
GEN bracket-spacing-check
GFDL_version
0.86 GFDL_version
TAB_in_indentation
0.55 TAB_in_indentation
Wundef_boolean
0.37 Wundef_boolean
avoid_attribute_unused_in_header
0.42 avoid_attribute_unused_in_header
avoid_ctype_macros
0.91 avoid_ctype_macros
avoid_if_before_free
6.76 avoid_if_before_free
avoid_strcase
0.76 avoid_strcase
avoid_write
0.49 avoid_write
bindtextdomain
0.41 bindtextdomain
cast_of_argument_to_free
0.80 cast_of_argument_to_free
cast_of_x_alloc_return_value
0.82 cast_of_x_alloc_return_value
changelog
0.36 changelog
const_long_option
0.80 const_long_option
copyright_check
1.08 copyright_check
copyright_format
2.63 copyright_format
copyright_usage
2.26 copyright_usage
correct_id_types
0.91 correct_id_types
curly_braces_style
1.56 curly_braces_style
error_message_period
0.70 error_message_period
error_message_warn_fatal
0.61 error_message_warn_fatal
flags_debug
1.56 flags_debug
flags_usage
1.73 flags_usage
forbid_const_pointer_typedef
1.81 forbid_const_pointer_typedef
forbid_manual_xml_indent
0.79 forbid_manual_xml_indent
libvirt_unmarked_diagnostics
2.23 libvirt_unmarked_diagnostics
m4_quote_check
0.43 m4_quote_check
makefile_TAB_only_indentation
0.42 makefile_TAB_only_indentation
makefile_at_at_check
0.35 makefile_at_at_check
makefile_conditionals
0.41 makefile_conditionals
po_check
15.53 po_check
preprocessor_indentation
0.73 preprocessor_indentation
prohibit_HAVE_MBRTOWC
0.91 prohibit_HAVE_MBRTOWC
prohibit_PATH_MAX
1.05 prohibit_PATH_MAX
prohibit_VIR_ERR_NO_MEMORY
0.79 prohibit_VIR_ERR_NO_MEMORY
prohibit_access_xok
0.84 prohibit_access_xok
prohibit_always-defined_macros
2.06 prohibit_always-defined_macros
prohibit_always_true_header_tests
0.94 prohibit_always_true_header_tests
prohibit_argmatch_without_use
0.66 prohibit_argmatch_without_use
prohibit_asprintf
1.57 prohibit_asprintf
prohibit_assert_without_use
0.71 prohibit_assert_without_use
prohibit_atoi
0.82 prohibit_atoi
prohibit_backup_files
0.26 prohibit_backup_files
prohibit_c_ctype_without_use
0.69 prohibit_c_ctype_without_use
prohibit_canonicalize_without_use
0.61 prohibit_canonicalize_without_use
prohibit_cloexec_without_use
0.66 prohibit_cloexec_without_use
prohibit_close
1.45 prohibit_close
prohibit_close_stream_without_use
0.76 prohibit_close_stream_without_use
prohibit_config_h_in_headers
0.44 prohibit_config_h_in_headers
prohibit_cross_inclusion
13.40 prohibit_cross_inclusion
prohibit_ctype_h
0.75 prohibit_ctype_h
prohibit_cvs_keyword
0.74 prohibit_cvs_keyword
prohibit_defined_have_decl_tests
0.79 prohibit_defined_have_decl_tests
prohibit_devname
0.76 prohibit_devname
prohibit_diagnostic_without_format
src/util/virfile.c:820: virReportError(VIR_ERR_INTERNAL_ERROR,
src/util/virfile.c-821- _("Failed to load nbd module: "
src/util/virfile.c-822- "administratively prohibited"));
src/util/virfile.c:829: virReportError(VIR_ERR_INTERNAL_ERROR,
src/util/virfile.c-830- _("Failed to load nbd module"));
maint.mk: found diagnostic without %
make: *** [sc_prohibit_diagnostic_without_format] Error 1
Build step 'Execute shell' marked build as failure
2
2
[libvirt] [python PATCH] iothread: Fix crash if virDomainGetIOThreadInfo returns error
by Peter Krempa 30 Jul '15
by Peter Krempa 30 Jul '15
30 Jul '15
The cleanup portion of libvirt_virDomainGetIOThreadInfo would try to
clean the returned structures but the count of iothreads was set to -1.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1248295
---
libvirt-override.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libvirt-override.c b/libvirt-override.c
index 45c8afc..2398228 100644
--- a/libvirt-override.c
+++ b/libvirt-override.c
@@ -2104,8 +2104,10 @@ libvirt_virDomainGetIOThreadInfo(PyObject *self ATTRIBUTE_UNUSED,
py_iothrinfo = NULL;
cleanup:
- for (i = 0; i < niothreads; i++)
- virDomainIOThreadInfoFree(iothrinfo[i]);
+ if (niothreads > 0) {
+ for (i = 0; i < niothreads; i++)
+ virDomainIOThreadInfoFree(iothrinfo[i]);
+ }
VIR_FREE(iothrinfo);
Py_XDECREF(py_iothrinfo);
return py_retval;
--
2.4.5
2
2
This series fixes a few issues found while testing migration with
latest Xen and libvirt. See the individual patches for details.
Jim Fehlig (3):
libxl: fix ref counting of libxlMigrationDstArgs
libxl: don't attempt to resume domain when suspend fails
libxl: acquire a job when receiving a migrating domain
src/libxl/libxl_migration.c | 52 +++++++++++++++++++--------------------------
1 file changed, 22 insertions(+), 30 deletions(-)
--
2.1.4
2
6
30 Jul '15
So far qemu-nbd is run even if the nbd kernel module isn't loaded. This
leads to errors when the user starts his lxc container while libvirt
could easily load the nbd module automatically.
---
src/util/virfile.c | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/src/util/virfile.c b/src/util/virfile.c
index 61f6e4d..76f1b7a 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -63,6 +63,7 @@
#include "vircommand.h"
#include "virerror.h"
#include "virfile.h"
+#include "virkmod.h"
#include "virlog.h"
#include "virprocess.h"
#include "virstring.h"
@@ -745,6 +746,7 @@ int virFileLoopDeviceAssociate(const char *file,
# define SYSFS_BLOCK_DIR "/sys/block"
+# define NBD_DRIVER "nbd"
static int
@@ -811,18 +813,42 @@ virFileNBDDeviceFindUnused(void)
return ret;
}
+static bool
+virFileNBDLoadDriver(void)
+{
+ if (virKModIsBlacklisted(NBD_DRIVER)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Failed to load nbd module: "
+ "administratively prohibited"));
+ return false;
+ } else {
+ char *errbuf = NULL;
+
+ if ((errbuf = virKModLoad(NBD_DRIVER, true))) {
+ VIR_FREE(errbuf);
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Failed to load nbd module"));
+ return false;
+ }
+ VIR_FREE(errbuf);
+ }
+ return true;
+}
int virFileNBDDeviceAssociate(const char *file,
virStorageFileFormat fmt,
bool readonly,
char **dev)
{
- char *nbddev;
+ char *nbddev = NULL;
char *qemunbd = NULL;
virCommandPtr cmd = NULL;
int ret = -1;
const char *fmtstr = NULL;
+ if (!virFileNBDLoadDriver())
+ goto cleanup;
+
if (!(nbddev = virFileNBDDeviceFindUnused()))
goto cleanup;
--
2.1.4
2
1
29 Jul '15
Only patch 1/5 has been updated, all the other patches
are the same as v8:
2/5 https://www.redhat.com/archives/libvir-list/2015-July/msg01045.html
3/5 https://www.redhat.com/archives/libvir-list/2015-July/msg01048.html
4/5 https://www.redhat.com/archives/libvir-list/2015-July/msg01049.html
5/5 https://www.redhat.com/archives/libvir-list/2015-July/msg01050.html
I'm including the full history below.
John, this should be finally ready to be merged, so if you'd
like to have another go at reviewing it... :)
Cheers.
Changes in v9:
* take into account the fact that kvm might not be loaded
or even installed
Changes in v8:
* shortened test names so that make dist doesn't
stop working again
Changes in v7:
* rebased on top of master now that the series this one
builds on have been merged
Changes in v6:
* updated to work on top of
[PATCH v2 00/10] nodeinfo: Various cleanups
Changes in v5:
* streamlined the logic used to decide whether the subcore
configuration is valid and moved it to a separate function
* split the tests into separate commits for easier review and
to hopefully avoid having trouble with the list due to the
message size
Changes in v4:
* removed a printf() statement
* fixed typo in a commit message
Changes in v3:
* the function to get the number of threads per subcore
has been moved to the from virarch.c, which deals with
architecture names only and is therefore not the right
place to read host configuration, to nodeinfo.c where
the rest of this stuff lives
* said function has also been given a shorter name
* the "valid subcore mode" boolean has been removed:
threads_per_subcore will be a positive number if
subcores should be taken into account, and if that's
not the case (x86 host, tainted configuration) it
will simply be zero, so now the code needs to keep
track of a single variable instead of two
* the test case has been renamed to be more
descriptive
* the test data has been cleaned up by removing all
cpu/cpu*/node* links, which prevented 'make dist'
from working due to recursive linking
Andrea Bolognani (3):
tests: Add subcores1 nodeinfo test
tests: Add subcores2 nodeinfo test
tests: Add subcores3 nodeinfo test
Shivaprasad G Bhat (2):
nodeinfo: Fix output on PPC64 KVM hosts
tests: Prepare for subcore tests
src/libvirt_private.syms | 1 +
src/nodeinfo.c | 156 ++++++++++++++++++++-
src/nodeinfo.h | 1 +
tests/Makefile.am | 6 +
[...]
tests/nodeinfomock.c | 35 +++++
tests/nodeinfotest.c | 8 +-
1348 files changed, 2137 insertions(+), 6 deletions(-)
[...]
create mode 100644 tests/nodeinfomock.c
--
2.4.3
1
1
29 Jul '15
Changes from v7 to v8:
* shortened test names so that make dist doesn't
stop working again
Shivaprasad is testing the series on his own hardware and
will hopefully give us some feedback soon. This new version
only changes the names of the test cases, so no need to
test the whole series again ;)
Cheers.
Andrea Bolognani (3):
tests: Add subcores1 nodeinfo test
tests: Add subcores2 nodeinfo test
tests: Add subcores3 nodeinfo test
Shivaprasad G Bhat (2):
nodeinfo: Fix output on PPC64 KVM hosts
tests: Prepare for subcore tests
src/libvirt_private.syms | 1 +
src/nodeinfo.c | 144 ++++++++++++++++++++-
src/nodeinfo.h | 1 +
tests/Makefile.am | 6 +
.../nodeinfodata/linux-ppc64-deconf-cpus.expected | 2 +-
tests/nodeinfodata/linux-ppc64-subcores1.cpuinfo | 105 +++++++++++++++
tests/nodeinfodata/linux-ppc64-subcores1.expected | 1 +
tests/nodeinfodata/linux-ppc64-subcores2.cpuinfo | 45 +++++++
tests/nodeinfodata/linux-ppc64-subcores2.expected | 1 +
tests/nodeinfodata/linux-ppc64-subcores3.cpuinfo | 110 ++++++++++++++++
tests/nodeinfodata/linux-ppc64-subcores3.expected | 1 +
tests/nodeinfodata/linux-subcores1/cpu/cpu0/online | 1 +
.../linux-subcores1/cpu/cpu0/topology/core_id | 1 +
.../cpu/cpu0/topology/core_siblings | 1 +
.../cpu/cpu0/topology/core_siblings_list | 1 +
.../cpu/cpu0/topology/physical_package_id | 1 +
.../cpu/cpu0/topology/thread_siblings | 1 +
.../cpu/cpu0/topology/thread_siblings_list | 1 +
tests/nodeinfodata/linux-subcores1/cpu/cpu1/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu10/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu100/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu101/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu102/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu103/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu104/online | 1 +
.../linux-subcores1/cpu/cpu104/topology/core_id | 1 +
.../cpu/cpu104/topology/core_siblings | 1 +
.../cpu/cpu104/topology/core_siblings_list | 1 +
.../cpu/cpu104/topology/physical_package_id | 1 +
.../cpu/cpu104/topology/thread_siblings | 1 +
.../cpu/cpu104/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu105/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu106/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu107/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu108/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu109/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu11/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu110/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu111/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu112/online | 1 +
.../linux-subcores1/cpu/cpu112/topology/core_id | 1 +
.../cpu/cpu112/topology/core_siblings | 1 +
.../cpu/cpu112/topology/core_siblings_list | 1 +
.../cpu/cpu112/topology/physical_package_id | 1 +
.../cpu/cpu112/topology/thread_siblings | 1 +
.../cpu/cpu112/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu113/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu114/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu115/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu116/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu117/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu118/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu119/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu12/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu120/online | 1 +
.../linux-subcores1/cpu/cpu120/topology/core_id | 1 +
.../cpu/cpu120/topology/core_siblings | 1 +
.../cpu/cpu120/topology/core_siblings_list | 1 +
.../cpu/cpu120/topology/physical_package_id | 1 +
.../cpu/cpu120/topology/thread_siblings | 1 +
.../cpu/cpu120/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu121/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu122/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu123/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu124/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu125/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu126/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu127/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu128/online | 1 +
.../linux-subcores1/cpu/cpu128/topology/core_id | 1 +
.../cpu/cpu128/topology/core_siblings | 1 +
.../cpu/cpu128/topology/core_siblings_list | 1 +
.../cpu/cpu128/topology/physical_package_id | 1 +
.../cpu/cpu128/topology/thread_siblings | 1 +
.../cpu/cpu128/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu129/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu13/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu130/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu131/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu132/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu133/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu134/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu135/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu136/online | 1 +
.../linux-subcores1/cpu/cpu136/topology/core_id | 1 +
.../cpu/cpu136/topology/core_siblings | 1 +
.../cpu/cpu136/topology/core_siblings_list | 1 +
.../cpu/cpu136/topology/physical_package_id | 1 +
.../cpu/cpu136/topology/thread_siblings | 1 +
.../cpu/cpu136/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu137/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu138/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu139/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu14/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu140/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu141/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu142/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu143/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu144/online | 1 +
.../linux-subcores1/cpu/cpu144/topology/core_id | 1 +
.../cpu/cpu144/topology/core_siblings | 1 +
.../cpu/cpu144/topology/core_siblings_list | 1 +
.../cpu/cpu144/topology/physical_package_id | 1 +
.../cpu/cpu144/topology/thread_siblings | 1 +
.../cpu/cpu144/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu145/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu146/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu147/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu148/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu149/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu15/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu150/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu151/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu152/online | 1 +
.../linux-subcores1/cpu/cpu152/topology/core_id | 1 +
.../cpu/cpu152/topology/core_siblings | 1 +
.../cpu/cpu152/topology/core_siblings_list | 1 +
.../cpu/cpu152/topology/physical_package_id | 1 +
.../cpu/cpu152/topology/thread_siblings | 1 +
.../cpu/cpu152/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu153/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu154/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu155/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu156/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu157/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu158/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu159/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu16/online | 1 +
.../linux-subcores1/cpu/cpu16/topology/core_id | 1 +
.../cpu/cpu16/topology/core_siblings | 1 +
.../cpu/cpu16/topology/core_siblings_list | 1 +
.../cpu/cpu16/topology/physical_package_id | 1 +
.../cpu/cpu16/topology/thread_siblings | 1 +
.../cpu/cpu16/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu17/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu18/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu19/online | 1 +
tests/nodeinfodata/linux-subcores1/cpu/cpu2/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu20/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu21/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu22/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu23/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu24/online | 1 +
.../linux-subcores1/cpu/cpu24/topology/core_id | 1 +
.../cpu/cpu24/topology/core_siblings | 1 +
.../cpu/cpu24/topology/core_siblings_list | 1 +
.../cpu/cpu24/topology/physical_package_id | 1 +
.../cpu/cpu24/topology/thread_siblings | 1 +
.../cpu/cpu24/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu25/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu26/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu27/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu28/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu29/online | 1 +
tests/nodeinfodata/linux-subcores1/cpu/cpu3/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu30/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu31/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu32/online | 1 +
.../linux-subcores1/cpu/cpu32/topology/core_id | 1 +
.../cpu/cpu32/topology/core_siblings | 1 +
.../cpu/cpu32/topology/core_siblings_list | 1 +
.../cpu/cpu32/topology/physical_package_id | 1 +
.../cpu/cpu32/topology/thread_siblings | 1 +
.../cpu/cpu32/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu33/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu34/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu35/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu36/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu37/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu38/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu39/online | 1 +
tests/nodeinfodata/linux-subcores1/cpu/cpu4/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu40/online | 1 +
.../linux-subcores1/cpu/cpu40/topology/core_id | 1 +
.../cpu/cpu40/topology/core_siblings | 1 +
.../cpu/cpu40/topology/core_siblings_list | 1 +
.../cpu/cpu40/topology/physical_package_id | 1 +
.../cpu/cpu40/topology/thread_siblings | 1 +
.../cpu/cpu40/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu41/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu42/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu43/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu44/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu45/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu46/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu47/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu48/online | 1 +
.../linux-subcores1/cpu/cpu48/topology/core_id | 1 +
.../cpu/cpu48/topology/core_siblings | 1 +
.../cpu/cpu48/topology/core_siblings_list | 1 +
.../cpu/cpu48/topology/physical_package_id | 1 +
.../cpu/cpu48/topology/thread_siblings | 1 +
.../cpu/cpu48/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu49/online | 1 +
tests/nodeinfodata/linux-subcores1/cpu/cpu5/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu50/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu51/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu52/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu53/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu54/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu55/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu56/online | 1 +
.../linux-subcores1/cpu/cpu56/topology/core_id | 1 +
.../cpu/cpu56/topology/core_siblings | 1 +
.../cpu/cpu56/topology/core_siblings_list | 1 +
.../cpu/cpu56/topology/physical_package_id | 1 +
.../cpu/cpu56/topology/thread_siblings | 1 +
.../cpu/cpu56/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu57/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu58/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu59/online | 1 +
tests/nodeinfodata/linux-subcores1/cpu/cpu6/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu60/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu61/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu62/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu63/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu64/online | 1 +
.../linux-subcores1/cpu/cpu64/topology/core_id | 1 +
.../cpu/cpu64/topology/core_siblings | 1 +
.../cpu/cpu64/topology/core_siblings_list | 1 +
.../cpu/cpu64/topology/physical_package_id | 1 +
.../cpu/cpu64/topology/thread_siblings | 1 +
.../cpu/cpu64/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu65/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu66/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu67/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu68/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu69/online | 1 +
tests/nodeinfodata/linux-subcores1/cpu/cpu7/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu70/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu71/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu72/online | 1 +
.../linux-subcores1/cpu/cpu72/topology/core_id | 1 +
.../cpu/cpu72/topology/core_siblings | 1 +
.../cpu/cpu72/topology/core_siblings_list | 1 +
.../cpu/cpu72/topology/physical_package_id | 1 +
.../cpu/cpu72/topology/thread_siblings | 1 +
.../cpu/cpu72/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu73/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu74/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu75/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu76/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu77/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu78/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu79/online | 1 +
tests/nodeinfodata/linux-subcores1/cpu/cpu8/online | 1 +
.../linux-subcores1/cpu/cpu8/topology/core_id | 1 +
.../cpu/cpu8/topology/core_siblings | 1 +
.../cpu/cpu8/topology/core_siblings_list | 1 +
.../cpu/cpu8/topology/physical_package_id | 1 +
.../cpu/cpu8/topology/thread_siblings | 1 +
.../cpu/cpu8/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu80/online | 1 +
.../linux-subcores1/cpu/cpu80/topology/core_id | 1 +
.../cpu/cpu80/topology/core_siblings | 1 +
.../cpu/cpu80/topology/core_siblings_list | 1 +
.../cpu/cpu80/topology/physical_package_id | 1 +
.../cpu/cpu80/topology/thread_siblings | 1 +
.../cpu/cpu80/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu81/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu82/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu83/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu84/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu85/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu86/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu87/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu88/online | 1 +
.../linux-subcores1/cpu/cpu88/topology/core_id | 1 +
.../cpu/cpu88/topology/core_siblings | 1 +
.../cpu/cpu88/topology/core_siblings_list | 1 +
.../cpu/cpu88/topology/physical_package_id | 1 +
.../cpu/cpu88/topology/thread_siblings | 1 +
.../cpu/cpu88/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu89/online | 1 +
tests/nodeinfodata/linux-subcores1/cpu/cpu9/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu90/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu91/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu92/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu93/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu94/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu95/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu96/online | 1 +
.../linux-subcores1/cpu/cpu96/topology/core_id | 1 +
.../cpu/cpu96/topology/core_siblings | 1 +
.../cpu/cpu96/topology/core_siblings_list | 1 +
.../cpu/cpu96/topology/physical_package_id | 1 +
.../cpu/cpu96/topology/thread_siblings | 1 +
.../cpu/cpu96/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu97/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu98/online | 1 +
.../nodeinfodata/linux-subcores1/cpu/cpu99/online | 1 +
tests/nodeinfodata/linux-subcores1/cpu/kernel_max | 1 +
tests/nodeinfodata/linux-subcores1/cpu/offline | 1 +
tests/nodeinfodata/linux-subcores1/cpu/online | 1 +
tests/nodeinfodata/linux-subcores1/cpu/possible | 1 +
tests/nodeinfodata/linux-subcores1/cpu/present | 1 +
tests/nodeinfodata/linux-subcores1/node/node0/cpu0 | 1 +
tests/nodeinfodata/linux-subcores1/node/node0/cpu1 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu10 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu11 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu12 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu13 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu14 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu15 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu16 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu17 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu18 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu19 | 1 +
tests/nodeinfodata/linux-subcores1/node/node0/cpu2 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu20 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu21 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu22 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu23 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu24 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu25 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu26 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu27 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu28 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu29 | 1 +
tests/nodeinfodata/linux-subcores1/node/node0/cpu3 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu30 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu31 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu32 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu33 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu34 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu35 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu36 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu37 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu38 | 1 +
.../nodeinfodata/linux-subcores1/node/node0/cpu39 | 1 +
tests/nodeinfodata/linux-subcores1/node/node0/cpu4 | 1 +
tests/nodeinfodata/linux-subcores1/node/node0/cpu5 | 1 +
tests/nodeinfodata/linux-subcores1/node/node0/cpu6 | 1 +
tests/nodeinfodata/linux-subcores1/node/node0/cpu7 | 1 +
tests/nodeinfodata/linux-subcores1/node/node0/cpu8 | 1 +
tests/nodeinfodata/linux-subcores1/node/node0/cpu9 | 1 +
.../linux-subcores1/node/node0/meminfo | 29 +++++
.../nodeinfodata/linux-subcores1/node/node1/cpu40 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu41 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu42 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu43 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu44 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu45 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu46 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu47 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu48 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu49 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu50 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu51 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu52 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu53 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu54 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu55 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu56 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu57 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu58 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu59 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu60 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu61 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu62 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu63 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu64 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu65 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu66 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu67 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu68 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu69 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu70 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu71 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu72 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu73 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu74 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu75 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu76 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu77 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu78 | 1 +
.../nodeinfodata/linux-subcores1/node/node1/cpu79 | 1 +
.../linux-subcores1/node/node1/meminfo | 29 +++++
.../linux-subcores1/node/node16/cpu100 | 1 +
.../linux-subcores1/node/node16/cpu101 | 1 +
.../linux-subcores1/node/node16/cpu102 | 1 +
.../linux-subcores1/node/node16/cpu103 | 1 +
.../linux-subcores1/node/node16/cpu104 | 1 +
.../linux-subcores1/node/node16/cpu105 | 1 +
.../linux-subcores1/node/node16/cpu106 | 1 +
.../linux-subcores1/node/node16/cpu107 | 1 +
.../linux-subcores1/node/node16/cpu108 | 1 +
.../linux-subcores1/node/node16/cpu109 | 1 +
.../linux-subcores1/node/node16/cpu110 | 1 +
.../linux-subcores1/node/node16/cpu111 | 1 +
.../linux-subcores1/node/node16/cpu112 | 1 +
.../linux-subcores1/node/node16/cpu113 | 1 +
.../linux-subcores1/node/node16/cpu114 | 1 +
.../linux-subcores1/node/node16/cpu115 | 1 +
.../linux-subcores1/node/node16/cpu116 | 1 +
.../linux-subcores1/node/node16/cpu117 | 1 +
.../linux-subcores1/node/node16/cpu118 | 1 +
.../linux-subcores1/node/node16/cpu119 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu80 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu81 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu82 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu83 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu84 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu85 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu86 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu87 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu88 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu89 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu90 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu91 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu92 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu93 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu94 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu95 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu96 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu97 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu98 | 1 +
.../nodeinfodata/linux-subcores1/node/node16/cpu99 | 1 +
.../linux-subcores1/node/node16/meminfo | 29 +++++
.../linux-subcores1/node/node17/cpu120 | 1 +
.../linux-subcores1/node/node17/cpu121 | 1 +
.../linux-subcores1/node/node17/cpu122 | 1 +
.../linux-subcores1/node/node17/cpu123 | 1 +
.../linux-subcores1/node/node17/cpu124 | 1 +
.../linux-subcores1/node/node17/cpu125 | 1 +
.../linux-subcores1/node/node17/cpu126 | 1 +
.../linux-subcores1/node/node17/cpu127 | 1 +
.../linux-subcores1/node/node17/cpu128 | 1 +
.../linux-subcores1/node/node17/cpu129 | 1 +
.../linux-subcores1/node/node17/cpu130 | 1 +
.../linux-subcores1/node/node17/cpu131 | 1 +
.../linux-subcores1/node/node17/cpu132 | 1 +
.../linux-subcores1/node/node17/cpu133 | 1 +
.../linux-subcores1/node/node17/cpu134 | 1 +
.../linux-subcores1/node/node17/cpu135 | 1 +
.../linux-subcores1/node/node17/cpu136 | 1 +
.../linux-subcores1/node/node17/cpu137 | 1 +
.../linux-subcores1/node/node17/cpu138 | 1 +
.../linux-subcores1/node/node17/cpu139 | 1 +
.../linux-subcores1/node/node17/cpu140 | 1 +
.../linux-subcores1/node/node17/cpu141 | 1 +
.../linux-subcores1/node/node17/cpu142 | 1 +
.../linux-subcores1/node/node17/cpu143 | 1 +
.../linux-subcores1/node/node17/cpu144 | 1 +
.../linux-subcores1/node/node17/cpu145 | 1 +
.../linux-subcores1/node/node17/cpu146 | 1 +
.../linux-subcores1/node/node17/cpu147 | 1 +
.../linux-subcores1/node/node17/cpu148 | 1 +
.../linux-subcores1/node/node17/cpu149 | 1 +
.../linux-subcores1/node/node17/cpu150 | 1 +
.../linux-subcores1/node/node17/cpu151 | 1 +
.../linux-subcores1/node/node17/cpu152 | 1 +
.../linux-subcores1/node/node17/cpu153 | 1 +
.../linux-subcores1/node/node17/cpu154 | 1 +
.../linux-subcores1/node/node17/cpu155 | 1 +
.../linux-subcores1/node/node17/cpu156 | 1 +
.../linux-subcores1/node/node17/cpu157 | 1 +
.../linux-subcores1/node/node17/cpu158 | 1 +
.../linux-subcores1/node/node17/cpu159 | 1 +
.../linux-subcores1/node/node17/meminfo | 29 +++++
tests/nodeinfodata/linux-subcores1/node/online | 1 +
tests/nodeinfodata/linux-subcores1/node/possible | 1 +
tests/nodeinfodata/linux-subcores2/cpu/cpu0/online | 1 +
.../linux-subcores2/cpu/cpu0/topology/core_id | 1 +
.../cpu/cpu0/topology/core_siblings | 1 +
.../cpu/cpu0/topology/core_siblings_list | 1 +
.../cpu/cpu0/topology/physical_package_id | 1 +
.../cpu/cpu0/topology/thread_siblings | 1 +
.../cpu/cpu0/topology/thread_siblings_list | 1 +
tests/nodeinfodata/linux-subcores2/cpu/cpu1/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu10/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu100/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu101/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu102/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu103/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu104/online | 1 +
.../linux-subcores2/cpu/cpu104/topology/core_id | 1 +
.../cpu/cpu104/topology/core_siblings | 1 +
.../cpu/cpu104/topology/core_siblings_list | 1 +
.../cpu/cpu104/topology/physical_package_id | 1 +
.../cpu/cpu104/topology/thread_siblings | 1 +
.../cpu/cpu104/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu105/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu106/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu107/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu108/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu109/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu11/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu110/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu111/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu112/online | 1 +
.../linux-subcores2/cpu/cpu112/topology/core_id | 1 +
.../cpu/cpu112/topology/core_siblings | 1 +
.../cpu/cpu112/topology/core_siblings_list | 1 +
.../cpu/cpu112/topology/physical_package_id | 1 +
.../cpu/cpu112/topology/thread_siblings | 1 +
.../cpu/cpu112/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu113/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu114/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu115/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu116/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu117/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu118/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu119/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu12/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu120/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu121/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu122/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu123/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu124/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu125/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu126/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu127/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu128/online | 1 +
.../linux-subcores2/cpu/cpu128/topology/core_id | 1 +
.../cpu/cpu128/topology/core_siblings | 1 +
.../cpu/cpu128/topology/core_siblings_list | 1 +
.../cpu/cpu128/topology/physical_package_id | 1 +
.../cpu/cpu128/topology/thread_siblings | 1 +
.../cpu/cpu128/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu129/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu13/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu130/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu131/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu132/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu133/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu134/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu135/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu136/online | 1 +
.../linux-subcores2/cpu/cpu136/topology/core_id | 1 +
.../cpu/cpu136/topology/core_siblings | 1 +
.../cpu/cpu136/topology/core_siblings_list | 1 +
.../cpu/cpu136/topology/physical_package_id | 1 +
.../cpu/cpu136/topology/thread_siblings | 1 +
.../cpu/cpu136/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu137/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu138/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu139/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu14/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu140/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu141/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu142/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu143/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu144/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu145/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu146/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu147/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu148/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu149/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu15/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu150/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu151/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu152/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu153/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu154/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu155/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu156/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu157/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu158/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu159/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu16/online | 1 +
.../linux-subcores2/cpu/cpu16/topology/core_id | 1 +
.../cpu/cpu16/topology/core_siblings | 1 +
.../cpu/cpu16/topology/core_siblings_list | 1 +
.../cpu/cpu16/topology/physical_package_id | 1 +
.../cpu/cpu16/topology/thread_siblings | 1 +
.../cpu/cpu16/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu17/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu18/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu19/online | 1 +
tests/nodeinfodata/linux-subcores2/cpu/cpu2/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu20/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu21/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu22/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu23/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu24/online | 1 +
.../linux-subcores2/cpu/cpu24/topology/core_id | 1 +
.../cpu/cpu24/topology/core_siblings | 1 +
.../cpu/cpu24/topology/core_siblings_list | 1 +
.../cpu/cpu24/topology/physical_package_id | 1 +
.../cpu/cpu24/topology/thread_siblings | 1 +
.../cpu/cpu24/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu25/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu26/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu27/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu28/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu29/online | 1 +
tests/nodeinfodata/linux-subcores2/cpu/cpu3/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu30/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu31/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu32/online | 1 +
.../linux-subcores2/cpu/cpu32/topology/core_id | 1 +
.../cpu/cpu32/topology/core_siblings | 1 +
.../cpu/cpu32/topology/core_siblings_list | 1 +
.../cpu/cpu32/topology/physical_package_id | 1 +
.../cpu/cpu32/topology/thread_siblings | 1 +
.../cpu/cpu32/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu33/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu34/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu35/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu36/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu37/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu38/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu39/online | 1 +
tests/nodeinfodata/linux-subcores2/cpu/cpu4/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu40/online | 1 +
.../linux-subcores2/cpu/cpu40/topology/core_id | 1 +
.../cpu/cpu40/topology/core_siblings | 1 +
.../cpu/cpu40/topology/core_siblings_list | 1 +
.../cpu/cpu40/topology/physical_package_id | 1 +
.../cpu/cpu40/topology/thread_siblings | 1 +
.../cpu/cpu40/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu41/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu42/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu43/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu44/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu45/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu46/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu47/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu48/online | 1 +
.../linux-subcores2/cpu/cpu48/topology/core_id | 1 +
.../cpu/cpu48/topology/core_siblings | 1 +
.../cpu/cpu48/topology/core_siblings_list | 1 +
.../cpu/cpu48/topology/physical_package_id | 1 +
.../cpu/cpu48/topology/thread_siblings | 1 +
.../cpu/cpu48/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu49/online | 1 +
tests/nodeinfodata/linux-subcores2/cpu/cpu5/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu50/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu51/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu52/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu53/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu54/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu55/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu56/online | 1 +
.../linux-subcores2/cpu/cpu56/topology/core_id | 1 +
.../cpu/cpu56/topology/core_siblings | 1 +
.../cpu/cpu56/topology/core_siblings_list | 1 +
.../cpu/cpu56/topology/physical_package_id | 1 +
.../cpu/cpu56/topology/thread_siblings | 1 +
.../cpu/cpu56/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu57/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu58/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu59/online | 1 +
tests/nodeinfodata/linux-subcores2/cpu/cpu6/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu60/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu61/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu62/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu63/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu64/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu65/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu66/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu67/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu68/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu69/online | 1 +
tests/nodeinfodata/linux-subcores2/cpu/cpu7/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu70/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu71/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu72/online | 1 +
.../linux-subcores2/cpu/cpu72/topology/core_id | 1 +
.../cpu/cpu72/topology/core_siblings | 1 +
.../cpu/cpu72/topology/core_siblings_list | 1 +
.../cpu/cpu72/topology/physical_package_id | 1 +
.../cpu/cpu72/topology/thread_siblings | 1 +
.../cpu/cpu72/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu73/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu74/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu75/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu76/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu77/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu78/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu79/online | 1 +
tests/nodeinfodata/linux-subcores2/cpu/cpu8/online | 1 +
.../linux-subcores2/cpu/cpu8/topology/core_id | 1 +
.../cpu/cpu8/topology/core_siblings | 1 +
.../cpu/cpu8/topology/core_siblings_list | 1 +
.../cpu/cpu8/topology/physical_package_id | 1 +
.../cpu/cpu8/topology/thread_siblings | 1 +
.../cpu/cpu8/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu80/online | 1 +
.../linux-subcores2/cpu/cpu80/topology/core_id | 1 +
.../cpu/cpu80/topology/core_siblings | 1 +
.../cpu/cpu80/topology/core_siblings_list | 1 +
.../cpu/cpu80/topology/physical_package_id | 1 +
.../cpu/cpu80/topology/thread_siblings | 1 +
.../cpu/cpu80/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu81/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu82/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu83/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu84/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu85/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu86/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu87/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu88/online | 1 +
.../linux-subcores2/cpu/cpu88/topology/core_id | 1 +
.../cpu/cpu88/topology/core_siblings | 1 +
.../cpu/cpu88/topology/core_siblings_list | 1 +
.../cpu/cpu88/topology/physical_package_id | 1 +
.../cpu/cpu88/topology/thread_siblings | 1 +
.../cpu/cpu88/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu89/online | 1 +
tests/nodeinfodata/linux-subcores2/cpu/cpu9/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu90/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu91/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu92/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu93/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu94/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu95/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu96/online | 1 +
.../linux-subcores2/cpu/cpu96/topology/core_id | 1 +
.../cpu/cpu96/topology/core_siblings | 1 +
.../cpu/cpu96/topology/core_siblings_list | 1 +
.../cpu/cpu96/topology/physical_package_id | 1 +
.../cpu/cpu96/topology/thread_siblings | 1 +
.../cpu/cpu96/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu97/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu98/online | 1 +
.../nodeinfodata/linux-subcores2/cpu/cpu99/online | 1 +
tests/nodeinfodata/linux-subcores2/cpu/kernel_max | 1 +
tests/nodeinfodata/linux-subcores2/cpu/offline | 1 +
tests/nodeinfodata/linux-subcores2/cpu/online | 1 +
tests/nodeinfodata/linux-subcores2/cpu/possible | 1 +
tests/nodeinfodata/linux-subcores2/cpu/present | 1 +
tests/nodeinfodata/linux-subcores2/node/node0/cpu0 | 1 +
tests/nodeinfodata/linux-subcores2/node/node0/cpu1 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu10 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu11 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu12 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu13 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu14 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu15 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu16 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu17 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu18 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu19 | 1 +
tests/nodeinfodata/linux-subcores2/node/node0/cpu2 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu20 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu21 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu22 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu23 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu24 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu25 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu26 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu27 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu28 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu29 | 1 +
tests/nodeinfodata/linux-subcores2/node/node0/cpu3 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu30 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu31 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu32 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu33 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu34 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu35 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu36 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu37 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu38 | 1 +
.../nodeinfodata/linux-subcores2/node/node0/cpu39 | 1 +
tests/nodeinfodata/linux-subcores2/node/node0/cpu4 | 1 +
tests/nodeinfodata/linux-subcores2/node/node0/cpu5 | 1 +
tests/nodeinfodata/linux-subcores2/node/node0/cpu6 | 1 +
tests/nodeinfodata/linux-subcores2/node/node0/cpu7 | 1 +
tests/nodeinfodata/linux-subcores2/node/node0/cpu8 | 1 +
tests/nodeinfodata/linux-subcores2/node/node0/cpu9 | 1 +
.../linux-subcores2/node/node0/meminfo | 29 +++++
.../nodeinfodata/linux-subcores2/node/node1/cpu40 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu41 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu42 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu43 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu44 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu45 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu46 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu47 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu48 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu49 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu50 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu51 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu52 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu53 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu54 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu55 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu56 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu57 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu58 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu59 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu60 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu61 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu62 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu63 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu64 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu65 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu66 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu67 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu68 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu69 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu70 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu71 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu72 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu73 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu74 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu75 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu76 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu77 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu78 | 1 +
.../nodeinfodata/linux-subcores2/node/node1/cpu79 | 1 +
.../linux-subcores2/node/node1/meminfo | 29 +++++
.../linux-subcores2/node/node16/cpu100 | 1 +
.../linux-subcores2/node/node16/cpu101 | 1 +
.../linux-subcores2/node/node16/cpu102 | 1 +
.../linux-subcores2/node/node16/cpu103 | 1 +
.../linux-subcores2/node/node16/cpu104 | 1 +
.../linux-subcores2/node/node16/cpu105 | 1 +
.../linux-subcores2/node/node16/cpu106 | 1 +
.../linux-subcores2/node/node16/cpu107 | 1 +
.../linux-subcores2/node/node16/cpu108 | 1 +
.../linux-subcores2/node/node16/cpu109 | 1 +
.../linux-subcores2/node/node16/cpu110 | 1 +
.../linux-subcores2/node/node16/cpu111 | 1 +
.../linux-subcores2/node/node16/cpu112 | 1 +
.../linux-subcores2/node/node16/cpu113 | 1 +
.../linux-subcores2/node/node16/cpu114 | 1 +
.../linux-subcores2/node/node16/cpu115 | 1 +
.../linux-subcores2/node/node16/cpu116 | 1 +
.../linux-subcores2/node/node16/cpu117 | 1 +
.../linux-subcores2/node/node16/cpu118 | 1 +
.../linux-subcores2/node/node16/cpu119 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu80 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu81 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu82 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu83 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu84 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu85 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu86 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu87 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu88 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu89 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu90 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu91 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu92 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu93 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu94 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu95 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu96 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu97 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu98 | 1 +
.../nodeinfodata/linux-subcores2/node/node16/cpu99 | 1 +
.../linux-subcores2/node/node16/meminfo | 29 +++++
.../linux-subcores2/node/node17/cpu120 | 1 +
.../linux-subcores2/node/node17/cpu121 | 1 +
.../linux-subcores2/node/node17/cpu122 | 1 +
.../linux-subcores2/node/node17/cpu123 | 1 +
.../linux-subcores2/node/node17/cpu124 | 1 +
.../linux-subcores2/node/node17/cpu125 | 1 +
.../linux-subcores2/node/node17/cpu126 | 1 +
.../linux-subcores2/node/node17/cpu127 | 1 +
.../linux-subcores2/node/node17/cpu128 | 1 +
.../linux-subcores2/node/node17/cpu129 | 1 +
.../linux-subcores2/node/node17/cpu130 | 1 +
.../linux-subcores2/node/node17/cpu131 | 1 +
.../linux-subcores2/node/node17/cpu132 | 1 +
.../linux-subcores2/node/node17/cpu133 | 1 +
.../linux-subcores2/node/node17/cpu134 | 1 +
.../linux-subcores2/node/node17/cpu135 | 1 +
.../linux-subcores2/node/node17/cpu136 | 1 +
.../linux-subcores2/node/node17/cpu137 | 1 +
.../linux-subcores2/node/node17/cpu138 | 1 +
.../linux-subcores2/node/node17/cpu139 | 1 +
.../linux-subcores2/node/node17/cpu140 | 1 +
.../linux-subcores2/node/node17/cpu141 | 1 +
.../linux-subcores2/node/node17/cpu142 | 1 +
.../linux-subcores2/node/node17/cpu143 | 1 +
.../linux-subcores2/node/node17/cpu144 | 1 +
.../linux-subcores2/node/node17/cpu145 | 1 +
.../linux-subcores2/node/node17/cpu146 | 1 +
.../linux-subcores2/node/node17/cpu147 | 1 +
.../linux-subcores2/node/node17/cpu148 | 1 +
.../linux-subcores2/node/node17/cpu149 | 1 +
.../linux-subcores2/node/node17/cpu150 | 1 +
.../linux-subcores2/node/node17/cpu151 | 1 +
.../linux-subcores2/node/node17/cpu152 | 1 +
.../linux-subcores2/node/node17/cpu153 | 1 +
.../linux-subcores2/node/node17/cpu154 | 1 +
.../linux-subcores2/node/node17/cpu155 | 1 +
.../linux-subcores2/node/node17/cpu156 | 1 +
.../linux-subcores2/node/node17/cpu157 | 1 +
.../linux-subcores2/node/node17/cpu158 | 1 +
.../linux-subcores2/node/node17/cpu159 | 1 +
.../linux-subcores2/node/node17/meminfo | 29 +++++
tests/nodeinfodata/linux-subcores2/node/online | 1 +
tests/nodeinfodata/linux-subcores2/node/possible | 1 +
tests/nodeinfodata/linux-subcores3/cpu/cpu0/online | 1 +
tests/nodeinfodata/linux-subcores3/cpu/cpu1/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu10/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu100/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu101/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu102/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu103/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu104/online | 1 +
.../linux-subcores3/cpu/cpu104/topology/core_id | 1 +
.../cpu/cpu104/topology/core_siblings | 1 +
.../cpu/cpu104/topology/core_siblings_list | 1 +
.../cpu/cpu104/topology/physical_package_id | 1 +
.../cpu/cpu104/topology/thread_siblings | 1 +
.../cpu/cpu104/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu105/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu106/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu107/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu108/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu109/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu11/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu110/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu111/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu112/online | 1 +
.../linux-subcores3/cpu/cpu112/topology/core_id | 1 +
.../cpu/cpu112/topology/core_siblings | 1 +
.../cpu/cpu112/topology/core_siblings_list | 1 +
.../cpu/cpu112/topology/physical_package_id | 1 +
.../cpu/cpu112/topology/thread_siblings | 1 +
.../cpu/cpu112/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu113/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu114/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu115/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu116/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu117/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu118/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu119/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu12/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu120/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu121/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu122/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu123/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu124/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu125/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu126/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu127/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu128/online | 1 +
.../linux-subcores3/cpu/cpu128/topology/core_id | 1 +
.../cpu/cpu128/topology/core_siblings | 1 +
.../cpu/cpu128/topology/core_siblings_list | 1 +
.../cpu/cpu128/topology/physical_package_id | 1 +
.../cpu/cpu128/topology/thread_siblings | 1 +
.../cpu/cpu128/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu129/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu13/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu130/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu131/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu132/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu133/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu134/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu135/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu136/online | 1 +
.../linux-subcores3/cpu/cpu136/topology/core_id | 1 +
.../cpu/cpu136/topology/core_siblings | 1 +
.../cpu/cpu136/topology/core_siblings_list | 1 +
.../cpu/cpu136/topology/physical_package_id | 1 +
.../cpu/cpu136/topology/thread_siblings | 1 +
.../cpu/cpu136/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu137/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu138/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu139/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu14/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu140/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu141/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu142/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu143/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu144/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu145/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu146/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu147/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu148/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu149/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu15/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu150/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu151/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu152/online | 1 +
.../linux-subcores3/cpu/cpu152/topology/core_id | 1 +
.../cpu/cpu152/topology/core_siblings | 1 +
.../cpu/cpu152/topology/core_siblings_list | 1 +
.../cpu/cpu152/topology/physical_package_id | 1 +
.../cpu/cpu152/topology/thread_siblings | 1 +
.../cpu/cpu152/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu153/online | 1 +
.../linux-subcores3/cpu/cpu153/topology/core_id | 1 +
.../cpu/cpu153/topology/core_siblings | 1 +
.../cpu/cpu153/topology/core_siblings_list | 1 +
.../cpu/cpu153/topology/physical_package_id | 1 +
.../cpu/cpu153/topology/thread_siblings | 1 +
.../cpu/cpu153/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu154/online | 1 +
.../linux-subcores3/cpu/cpu154/topology/core_id | 1 +
.../cpu/cpu154/topology/core_siblings | 1 +
.../cpu/cpu154/topology/core_siblings_list | 1 +
.../cpu/cpu154/topology/physical_package_id | 1 +
.../cpu/cpu154/topology/thread_siblings | 1 +
.../cpu/cpu154/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu155/online | 1 +
.../linux-subcores3/cpu/cpu155/topology/core_id | 1 +
.../cpu/cpu155/topology/core_siblings | 1 +
.../cpu/cpu155/topology/core_siblings_list | 1 +
.../cpu/cpu155/topology/physical_package_id | 1 +
.../cpu/cpu155/topology/thread_siblings | 1 +
.../cpu/cpu155/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu156/online | 1 +
.../linux-subcores3/cpu/cpu156/topology/core_id | 1 +
.../cpu/cpu156/topology/core_siblings | 1 +
.../cpu/cpu156/topology/core_siblings_list | 1 +
.../cpu/cpu156/topology/physical_package_id | 1 +
.../cpu/cpu156/topology/thread_siblings | 1 +
.../cpu/cpu156/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu157/online | 1 +
.../linux-subcores3/cpu/cpu157/topology/core_id | 1 +
.../cpu/cpu157/topology/core_siblings | 1 +
.../cpu/cpu157/topology/core_siblings_list | 1 +
.../cpu/cpu157/topology/physical_package_id | 1 +
.../cpu/cpu157/topology/thread_siblings | 1 +
.../cpu/cpu157/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu158/online | 1 +
.../linux-subcores3/cpu/cpu158/topology/core_id | 1 +
.../cpu/cpu158/topology/core_siblings | 1 +
.../cpu/cpu158/topology/core_siblings_list | 1 +
.../cpu/cpu158/topology/physical_package_id | 1 +
.../cpu/cpu158/topology/thread_siblings | 1 +
.../cpu/cpu158/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu159/online | 1 +
.../linux-subcores3/cpu/cpu159/topology/core_id | 1 +
.../cpu/cpu159/topology/core_siblings | 1 +
.../cpu/cpu159/topology/core_siblings_list | 1 +
.../cpu/cpu159/topology/physical_package_id | 1 +
.../cpu/cpu159/topology/thread_siblings | 1 +
.../cpu/cpu159/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu16/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu17/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu18/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu19/online | 1 +
tests/nodeinfodata/linux-subcores3/cpu/cpu2/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu20/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu21/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu22/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu23/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu24/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu25/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu26/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu27/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu28/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu29/online | 1 +
tests/nodeinfodata/linux-subcores3/cpu/cpu3/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu30/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu31/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu32/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu33/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu34/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu35/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu36/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu37/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu38/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu39/online | 1 +
tests/nodeinfodata/linux-subcores3/cpu/cpu4/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu40/online | 1 +
.../linux-subcores3/cpu/cpu40/topology/core_id | 1 +
.../cpu/cpu40/topology/core_siblings | 1 +
.../cpu/cpu40/topology/core_siblings_list | 1 +
.../cpu/cpu40/topology/physical_package_id | 1 +
.../cpu/cpu40/topology/thread_siblings | 1 +
.../cpu/cpu40/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu41/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu42/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu43/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu44/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu45/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu46/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu47/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu48/online | 1 +
.../linux-subcores3/cpu/cpu48/topology/core_id | 1 +
.../cpu/cpu48/topology/core_siblings | 1 +
.../cpu/cpu48/topology/core_siblings_list | 1 +
.../cpu/cpu48/topology/physical_package_id | 1 +
.../cpu/cpu48/topology/thread_siblings | 1 +
.../cpu/cpu48/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu49/online | 1 +
tests/nodeinfodata/linux-subcores3/cpu/cpu5/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu50/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu51/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu52/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu53/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu54/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu55/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu56/online | 1 +
.../linux-subcores3/cpu/cpu56/topology/core_id | 1 +
.../cpu/cpu56/topology/core_siblings | 1 +
.../cpu/cpu56/topology/core_siblings_list | 1 +
.../cpu/cpu56/topology/physical_package_id | 1 +
.../cpu/cpu56/topology/thread_siblings | 1 +
.../cpu/cpu56/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu57/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu58/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu59/online | 1 +
tests/nodeinfodata/linux-subcores3/cpu/cpu6/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu60/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu61/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu62/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu63/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu64/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu65/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu66/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu67/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu68/online | 1 +
.../linux-subcores3/cpu/cpu68/topology/core_id | 1 +
.../cpu/cpu68/topology/core_siblings | 1 +
.../cpu/cpu68/topology/core_siblings_list | 1 +
.../cpu/cpu68/topology/physical_package_id | 1 +
.../cpu/cpu68/topology/thread_siblings | 1 +
.../cpu/cpu68/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu69/online | 1 +
tests/nodeinfodata/linux-subcores3/cpu/cpu7/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu70/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu71/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu72/online | 1 +
.../linux-subcores3/cpu/cpu72/topology/core_id | 1 +
.../cpu/cpu72/topology/core_siblings | 1 +
.../cpu/cpu72/topology/core_siblings_list | 1 +
.../cpu/cpu72/topology/physical_package_id | 1 +
.../cpu/cpu72/topology/thread_siblings | 1 +
.../cpu/cpu72/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu73/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu74/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu75/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu76/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu77/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu78/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu79/online | 1 +
tests/nodeinfodata/linux-subcores3/cpu/cpu8/online | 1 +
.../linux-subcores3/cpu/cpu8/topology/core_id | 1 +
.../cpu/cpu8/topology/core_siblings | 1 +
.../cpu/cpu8/topology/core_siblings_list | 1 +
.../cpu/cpu8/topology/physical_package_id | 1 +
.../cpu/cpu8/topology/thread_siblings | 1 +
.../cpu/cpu8/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu80/online | 1 +
.../linux-subcores3/cpu/cpu80/topology/core_id | 1 +
.../cpu/cpu80/topology/core_siblings | 1 +
.../cpu/cpu80/topology/core_siblings_list | 1 +
.../cpu/cpu80/topology/physical_package_id | 1 +
.../cpu/cpu80/topology/thread_siblings | 1 +
.../cpu/cpu80/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu81/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu82/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu83/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu84/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu85/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu86/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu87/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu88/online | 1 +
.../linux-subcores3/cpu/cpu88/topology/core_id | 1 +
.../cpu/cpu88/topology/core_siblings | 1 +
.../cpu/cpu88/topology/core_siblings_list | 1 +
.../cpu/cpu88/topology/physical_package_id | 1 +
.../cpu/cpu88/topology/thread_siblings | 1 +
.../cpu/cpu88/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu89/online | 1 +
tests/nodeinfodata/linux-subcores3/cpu/cpu9/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu90/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu91/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu92/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu93/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu94/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu95/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu96/online | 1 +
.../linux-subcores3/cpu/cpu96/topology/core_id | 1 +
.../cpu/cpu96/topology/core_siblings | 1 +
.../cpu/cpu96/topology/core_siblings_list | 1 +
.../cpu/cpu96/topology/physical_package_id | 1 +
.../cpu/cpu96/topology/thread_siblings | 1 +
.../cpu/cpu96/topology/thread_siblings_list | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu97/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu98/online | 1 +
.../nodeinfodata/linux-subcores3/cpu/cpu99/online | 1 +
tests/nodeinfodata/linux-subcores3/cpu/kernel_max | 1 +
tests/nodeinfodata/linux-subcores3/cpu/offline | 1 +
tests/nodeinfodata/linux-subcores3/cpu/online | 1 +
tests/nodeinfodata/linux-subcores3/cpu/possible | 1 +
tests/nodeinfodata/linux-subcores3/cpu/present | 1 +
tests/nodeinfodata/linux-subcores3/node/node0/cpu0 | 1 +
tests/nodeinfodata/linux-subcores3/node/node0/cpu1 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu10 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu11 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu12 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu13 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu14 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu15 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu16 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu17 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu18 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu19 | 1 +
tests/nodeinfodata/linux-subcores3/node/node0/cpu2 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu20 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu21 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu22 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu23 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu24 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu25 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu26 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu27 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu28 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu29 | 1 +
tests/nodeinfodata/linux-subcores3/node/node0/cpu3 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu30 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu31 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu32 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu33 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu34 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu35 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu36 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu37 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu38 | 1 +
.../nodeinfodata/linux-subcores3/node/node0/cpu39 | 1 +
tests/nodeinfodata/linux-subcores3/node/node0/cpu4 | 1 +
tests/nodeinfodata/linux-subcores3/node/node0/cpu5 | 1 +
tests/nodeinfodata/linux-subcores3/node/node0/cpu6 | 1 +
tests/nodeinfodata/linux-subcores3/node/node0/cpu7 | 1 +
tests/nodeinfodata/linux-subcores3/node/node0/cpu8 | 1 +
tests/nodeinfodata/linux-subcores3/node/node0/cpu9 | 1 +
.../linux-subcores3/node/node0/meminfo | 29 +++++
.../nodeinfodata/linux-subcores3/node/node1/cpu40 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu41 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu42 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu43 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu44 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu45 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu46 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu47 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu48 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu49 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu50 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu51 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu52 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu53 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu54 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu55 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu56 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu57 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu58 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu59 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu60 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu61 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu62 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu63 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu64 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu65 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu66 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu67 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu68 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu69 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu70 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu71 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu72 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu73 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu74 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu75 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu76 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu77 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu78 | 1 +
.../nodeinfodata/linux-subcores3/node/node1/cpu79 | 1 +
.../linux-subcores3/node/node1/meminfo | 29 +++++
.../linux-subcores3/node/node16/cpu100 | 1 +
.../linux-subcores3/node/node16/cpu101 | 1 +
.../linux-subcores3/node/node16/cpu102 | 1 +
.../linux-subcores3/node/node16/cpu103 | 1 +
.../linux-subcores3/node/node16/cpu104 | 1 +
.../linux-subcores3/node/node16/cpu105 | 1 +
.../linux-subcores3/node/node16/cpu106 | 1 +
.../linux-subcores3/node/node16/cpu107 | 1 +
.../linux-subcores3/node/node16/cpu108 | 1 +
.../linux-subcores3/node/node16/cpu109 | 1 +
.../linux-subcores3/node/node16/cpu110 | 1 +
.../linux-subcores3/node/node16/cpu111 | 1 +
.../linux-subcores3/node/node16/cpu112 | 1 +
.../linux-subcores3/node/node16/cpu113 | 1 +
.../linux-subcores3/node/node16/cpu114 | 1 +
.../linux-subcores3/node/node16/cpu115 | 1 +
.../linux-subcores3/node/node16/cpu116 | 1 +
.../linux-subcores3/node/node16/cpu117 | 1 +
.../linux-subcores3/node/node16/cpu118 | 1 +
.../linux-subcores3/node/node16/cpu119 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu80 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu81 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu82 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu83 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu84 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu85 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu86 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu87 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu88 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu89 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu90 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu91 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu92 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu93 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu94 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu95 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu96 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu97 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu98 | 1 +
.../nodeinfodata/linux-subcores3/node/node16/cpu99 | 1 +
.../linux-subcores3/node/node16/meminfo | 29 +++++
.../linux-subcores3/node/node17/cpu120 | 1 +
.../linux-subcores3/node/node17/cpu121 | 1 +
.../linux-subcores3/node/node17/cpu122 | 1 +
.../linux-subcores3/node/node17/cpu123 | 1 +
.../linux-subcores3/node/node17/cpu124 | 1 +
.../linux-subcores3/node/node17/cpu125 | 1 +
.../linux-subcores3/node/node17/cpu126 | 1 +
.../linux-subcores3/node/node17/cpu127 | 1 +
.../linux-subcores3/node/node17/cpu128 | 1 +
.../linux-subcores3/node/node17/cpu129 | 1 +
.../linux-subcores3/node/node17/cpu130 | 1 +
.../linux-subcores3/node/node17/cpu131 | 1 +
.../linux-subcores3/node/node17/cpu132 | 1 +
.../linux-subcores3/node/node17/cpu133 | 1 +
.../linux-subcores3/node/node17/cpu134 | 1 +
.../linux-subcores3/node/node17/cpu135 | 1 +
.../linux-subcores3/node/node17/cpu136 | 1 +
.../linux-subcores3/node/node17/cpu137 | 1 +
.../linux-subcores3/node/node17/cpu138 | 1 +
.../linux-subcores3/node/node17/cpu139 | 1 +
.../linux-subcores3/node/node17/cpu140 | 1 +
.../linux-subcores3/node/node17/cpu141 | 1 +
.../linux-subcores3/node/node17/cpu142 | 1 +
.../linux-subcores3/node/node17/cpu143 | 1 +
.../linux-subcores3/node/node17/cpu144 | 1 +
.../linux-subcores3/node/node17/cpu145 | 1 +
.../linux-subcores3/node/node17/cpu146 | 1 +
.../linux-subcores3/node/node17/cpu147 | 1 +
.../linux-subcores3/node/node17/cpu148 | 1 +
.../linux-subcores3/node/node17/cpu149 | 1 +
.../linux-subcores3/node/node17/cpu150 | 1 +
.../linux-subcores3/node/node17/cpu151 | 1 +
.../linux-subcores3/node/node17/cpu152 | 1 +
.../linux-subcores3/node/node17/cpu153 | 1 +
.../linux-subcores3/node/node17/cpu154 | 1 +
.../linux-subcores3/node/node17/cpu155 | 1 +
.../linux-subcores3/node/node17/cpu156 | 1 +
.../linux-subcores3/node/node17/cpu157 | 1 +
.../linux-subcores3/node/node17/cpu158 | 1 +
.../linux-subcores3/node/node17/cpu159 | 1 +
.../linux-subcores3/node/node17/meminfo | 29 +++++
tests/nodeinfodata/linux-subcores3/node/online | 1 +
tests/nodeinfodata/linux-subcores3/node/possible | 1 +
tests/nodeinfomock.c | 35 +++++
tests/nodeinfotest.c | 8 +-
1348 files changed, 2125 insertions(+), 6 deletions(-)
create mode 100644 tests/nodeinfodata/linux-ppc64-subcores1.cpuinfo
create mode 100644 tests/nodeinfodata/linux-ppc64-subcores1.expected
create mode 100644 tests/nodeinfodata/linux-ppc64-subcores2.cpuinfo
create mode 100644 tests/nodeinfodata/linux-ppc64-subcores2.expected
create mode 100644 tests/nodeinfodata/linux-ppc64-subcores3.cpuinfo
create mode 100644 tests/nodeinfodata/linux-ppc64-subcores3.expected
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu0/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu0/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu0/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu0/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu0/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu0/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu0/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu1/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu10/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu100/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu101/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu102/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu103/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu104/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu104/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu104/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu104/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu104/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu104/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu104/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu105/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu106/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu107/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu108/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu109/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu11/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu110/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu111/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu112/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu112/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu112/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu112/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu112/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu112/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu112/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu113/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu114/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu115/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu116/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu117/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu118/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu119/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu12/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu120/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu120/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu120/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu120/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu120/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu120/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu120/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu121/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu122/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu123/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu124/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu125/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu126/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu127/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu128/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu128/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu128/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu128/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu128/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu128/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu128/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu129/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu13/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu130/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu131/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu132/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu133/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu134/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu135/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu136/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu136/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu136/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu136/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu136/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu136/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu136/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu137/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu138/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu139/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu14/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu140/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu141/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu142/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu143/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu144/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu144/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu144/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu144/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu144/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu144/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu144/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu145/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu146/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu147/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu148/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu149/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu15/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu150/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu151/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu152/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu152/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu152/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu152/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu152/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu152/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu152/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu153/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu154/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu155/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu156/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu157/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu158/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu159/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu16/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu16/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu16/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu16/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu16/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu16/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu16/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu17/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu18/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu19/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu2/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu20/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu21/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu22/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu23/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu24/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu24/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu24/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu24/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu24/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu24/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu24/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu25/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu26/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu27/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu28/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu29/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu3/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu30/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu31/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu32/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu32/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu32/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu32/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu32/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu32/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu32/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu33/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu34/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu35/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu36/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu37/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu38/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu39/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu4/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu40/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu40/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu40/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu40/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu40/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu40/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu40/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu41/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu42/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu43/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu44/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu45/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu46/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu47/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu48/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu48/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu48/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu48/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu48/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu48/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu48/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu49/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu5/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu50/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu51/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu52/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu53/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu54/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu55/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu56/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu56/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu56/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu56/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu56/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu56/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu56/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu57/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu58/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu59/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu6/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu60/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu61/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu62/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu63/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu64/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu64/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu64/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu64/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu64/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu64/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu64/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu65/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu66/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu67/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu68/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu69/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu7/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu70/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu71/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu72/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu72/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu72/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu72/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu72/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu72/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu72/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu73/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu74/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu75/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu76/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu77/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu78/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu79/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu8/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu8/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu8/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu8/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu8/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu8/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu8/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu80/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu80/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu80/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu80/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu80/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu80/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu80/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu81/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu82/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu83/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu84/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu85/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu86/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu87/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu88/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu88/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu88/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu88/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu88/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu88/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu88/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu89/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu9/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu90/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu91/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu92/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu93/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu94/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu95/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu96/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu96/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu96/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu96/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu96/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu96/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu96/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu97/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu98/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/cpu99/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/kernel_max
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/offline
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/online
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/possible
create mode 100644 tests/nodeinfodata/linux-subcores1/cpu/present
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu0
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu1
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu10
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu11
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu12
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu13
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu14
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu15
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu16
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu17
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu18
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu19
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu2
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu20
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu21
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu22
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu23
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu24
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu25
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu26
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu27
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu28
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu29
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu3
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu30
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu31
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu32
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu33
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu34
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu35
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu36
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu37
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu38
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu39
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu4
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu5
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu6
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu7
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu8
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node0/cpu9
create mode 100644 tests/nodeinfodata/linux-subcores1/node/node0/meminfo
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu40
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu41
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu42
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu43
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu44
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu45
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu46
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu47
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu48
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu49
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu50
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu51
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu52
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu53
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu54
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu55
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu56
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu57
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu58
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu59
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu60
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu61
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu62
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu63
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu64
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu65
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu66
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu67
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu68
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu69
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu70
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu71
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu72
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu73
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu74
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu75
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu76
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu77
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu78
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node1/cpu79
create mode 100644 tests/nodeinfodata/linux-subcores1/node/node1/meminfo
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu100
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu101
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu102
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu103
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu104
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu105
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu106
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu107
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu108
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu109
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu110
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu111
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu112
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu113
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu114
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu115
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu116
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu117
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu118
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu119
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu80
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu81
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu82
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu83
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu84
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu85
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu86
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu87
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu88
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu89
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu90
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu91
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu92
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu93
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu94
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu95
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu96
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu97
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu98
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node16/cpu99
create mode 100644 tests/nodeinfodata/linux-subcores1/node/node16/meminfo
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu120
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu121
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu122
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu123
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu124
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu125
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu126
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu127
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu128
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu129
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu130
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu131
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu132
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu133
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu134
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu135
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu136
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu137
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu138
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu139
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu140
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu141
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu142
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu143
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu144
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu145
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu146
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu147
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu148
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu149
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu150
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu151
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu152
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu153
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu154
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu155
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu156
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu157
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu158
create mode 120000 tests/nodeinfodata/linux-subcores1/node/node17/cpu159
create mode 100644 tests/nodeinfodata/linux-subcores1/node/node17/meminfo
create mode 100644 tests/nodeinfodata/linux-subcores1/node/online
create mode 100644 tests/nodeinfodata/linux-subcores1/node/possible
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu0/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu0/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu0/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu0/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu0/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu0/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu0/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu1/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu10/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu100/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu101/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu102/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu103/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu104/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu104/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu104/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu104/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu104/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu104/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu104/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu105/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu106/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu107/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu108/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu109/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu11/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu110/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu111/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu112/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu112/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu112/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu112/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu112/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu112/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu112/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu113/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu114/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu115/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu116/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu117/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu118/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu119/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu12/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu120/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu121/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu122/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu123/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu124/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu125/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu126/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu127/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu128/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu128/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu128/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu128/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu128/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu128/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu128/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu129/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu13/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu130/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu131/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu132/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu133/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu134/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu135/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu136/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu136/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu136/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu136/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu136/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu136/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu136/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu137/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu138/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu139/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu14/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu140/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu141/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu142/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu143/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu144/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu145/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu146/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu147/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu148/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu149/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu15/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu150/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu151/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu152/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu153/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu154/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu155/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu156/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu157/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu158/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu159/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu16/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu16/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu16/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu16/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu16/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu16/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu16/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu17/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu18/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu19/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu2/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu20/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu21/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu22/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu23/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu24/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu24/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu24/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu24/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu24/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu24/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu24/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu25/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu26/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu27/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu28/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu29/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu3/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu30/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu31/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu32/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu32/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu32/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu32/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu32/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu32/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu32/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu33/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu34/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu35/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu36/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu37/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu38/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu39/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu4/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu40/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu40/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu40/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu40/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu40/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu40/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu40/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu41/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu42/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu43/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu44/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu45/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu46/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu47/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu48/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu48/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu48/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu48/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu48/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu48/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu48/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu49/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu5/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu50/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu51/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu52/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu53/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu54/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu55/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu56/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu56/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu56/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu56/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu56/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu56/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu56/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu57/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu58/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu59/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu6/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu60/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu61/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu62/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu63/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu64/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu65/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu66/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu67/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu68/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu69/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu7/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu70/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu71/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu72/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu72/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu72/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu72/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu72/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu72/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu72/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu73/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu74/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu75/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu76/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu77/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu78/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu79/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu8/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu8/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu8/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu8/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu8/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu8/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu8/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu80/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu80/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu80/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu80/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu80/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu80/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu80/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu81/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu82/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu83/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu84/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu85/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu86/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu87/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu88/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu88/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu88/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu88/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu88/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu88/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu88/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu89/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu9/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu90/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu91/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu92/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu93/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu94/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu95/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu96/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu96/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu96/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu96/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu96/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu96/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu96/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu97/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu98/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/cpu99/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/kernel_max
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/offline
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/online
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/possible
create mode 100644 tests/nodeinfodata/linux-subcores2/cpu/present
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu0
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu1
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu10
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu11
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu12
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu13
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu14
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu15
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu16
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu17
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu18
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu19
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu2
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu20
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu21
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu22
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu23
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu24
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu25
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu26
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu27
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu28
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu29
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu3
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu30
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu31
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu32
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu33
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu34
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu35
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu36
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu37
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu38
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu39
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu4
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu5
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu6
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu7
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu8
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node0/cpu9
create mode 100644 tests/nodeinfodata/linux-subcores2/node/node0/meminfo
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu40
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu41
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu42
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu43
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu44
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu45
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu46
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu47
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu48
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu49
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu50
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu51
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu52
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu53
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu54
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu55
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu56
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu57
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu58
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu59
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu60
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu61
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu62
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu63
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu64
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu65
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu66
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu67
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu68
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu69
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu70
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu71
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu72
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu73
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu74
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu75
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu76
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu77
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu78
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node1/cpu79
create mode 100644 tests/nodeinfodata/linux-subcores2/node/node1/meminfo
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu100
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu101
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu102
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu103
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu104
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu105
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu106
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu107
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu108
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu109
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu110
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu111
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu112
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu113
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu114
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu115
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu116
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu117
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu118
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu119
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu80
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu81
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu82
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu83
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu84
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu85
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu86
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu87
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu88
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu89
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu90
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu91
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu92
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu93
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu94
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu95
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu96
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu97
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu98
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node16/cpu99
create mode 100644 tests/nodeinfodata/linux-subcores2/node/node16/meminfo
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu120
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu121
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu122
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu123
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu124
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu125
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu126
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu127
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu128
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu129
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu130
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu131
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu132
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu133
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu134
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu135
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu136
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu137
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu138
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu139
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu140
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu141
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu142
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu143
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu144
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu145
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu146
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu147
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu148
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu149
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu150
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu151
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu152
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu153
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu154
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu155
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu156
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu157
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu158
create mode 120000 tests/nodeinfodata/linux-subcores2/node/node17/cpu159
create mode 100644 tests/nodeinfodata/linux-subcores2/node/node17/meminfo
create mode 100644 tests/nodeinfodata/linux-subcores2/node/online
create mode 100644 tests/nodeinfodata/linux-subcores2/node/possible
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu0/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu1/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu10/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu100/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu101/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu102/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu103/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu104/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu104/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu104/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu104/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu104/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu104/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu104/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu105/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu106/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu107/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu108/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu109/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu11/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu110/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu111/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu112/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu112/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu112/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu112/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu112/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu112/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu112/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu113/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu114/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu115/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu116/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu117/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu118/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu119/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu12/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu120/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu121/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu122/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu123/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu124/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu125/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu126/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu127/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu128/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu128/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu128/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu128/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu128/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu128/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu128/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu129/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu13/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu130/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu131/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu132/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu133/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu134/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu135/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu136/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu136/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu136/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu136/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu136/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu136/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu136/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu137/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu138/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu139/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu14/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu140/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu141/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu142/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu143/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu144/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu145/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu146/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu147/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu148/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu149/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu15/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu150/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu151/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu152/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu152/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu152/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu152/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu152/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu152/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu152/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu153/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu153/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu153/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu153/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu153/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu153/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu153/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu154/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu154/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu154/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu154/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu154/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu154/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu154/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu155/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu155/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu155/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu155/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu155/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu155/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu155/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu156/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu156/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu156/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu156/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu156/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu156/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu156/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu157/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu157/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu157/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu157/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu157/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu157/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu157/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu158/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu158/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu158/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu158/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu158/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu158/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu158/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu159/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu159/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu159/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu159/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu159/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu159/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu159/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu16/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu17/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu18/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu19/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu2/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu20/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu21/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu22/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu23/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu24/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu25/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu26/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu27/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu28/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu29/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu3/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu30/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu31/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu32/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu33/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu34/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu35/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu36/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu37/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu38/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu39/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu4/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu40/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu40/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu40/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu40/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu40/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu40/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu40/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu41/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu42/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu43/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu44/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu45/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu46/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu47/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu48/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu48/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu48/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu48/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu48/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu48/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu48/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu49/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu5/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu50/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu51/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu52/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu53/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu54/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu55/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu56/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu56/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu56/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu56/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu56/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu56/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu56/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu57/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu58/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu59/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu6/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu60/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu61/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu62/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu63/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu64/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu65/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu66/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu67/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu68/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu68/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu68/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu68/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu68/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu68/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu68/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu69/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu7/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu70/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu71/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu72/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu72/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu72/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu72/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu72/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu72/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu72/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu73/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu74/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu75/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu76/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu77/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu78/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu79/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu8/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu8/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu8/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu8/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu8/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu8/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu8/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu80/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu80/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu80/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu80/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu80/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu80/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu80/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu81/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu82/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu83/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu84/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu85/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu86/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu87/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu88/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu88/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu88/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu88/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu88/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu88/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu88/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu89/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu9/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu90/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu91/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu92/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu93/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu94/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu95/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu96/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu96/topology/core_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu96/topology/core_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu96/topology/core_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu96/topology/physical_package_id
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu96/topology/thread_siblings
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu96/topology/thread_siblings_list
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu97/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu98/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/cpu99/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/kernel_max
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/offline
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/online
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/possible
create mode 100644 tests/nodeinfodata/linux-subcores3/cpu/present
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu0
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu1
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu10
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu11
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu12
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu13
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu14
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu15
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu16
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu17
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu18
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu19
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu2
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu20
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu21
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu22
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu23
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu24
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu25
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu26
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu27
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu28
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu29
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu3
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu30
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu31
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu32
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu33
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu34
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu35
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu36
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu37
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu38
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu39
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu4
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu5
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu6
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu7
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu8
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node0/cpu9
create mode 100644 tests/nodeinfodata/linux-subcores3/node/node0/meminfo
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu40
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu41
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu42
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu43
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu44
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu45
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu46
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu47
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu48
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu49
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu50
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu51
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu52
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu53
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu54
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu55
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu56
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu57
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu58
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu59
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu60
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu61
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu62
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu63
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu64
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu65
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu66
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu67
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu68
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu69
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu70
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu71
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu72
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu73
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu74
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu75
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu76
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu77
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu78
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node1/cpu79
create mode 100644 tests/nodeinfodata/linux-subcores3/node/node1/meminfo
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu100
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu101
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu102
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu103
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu104
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu105
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu106
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu107
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu108
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu109
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu110
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu111
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu112
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu113
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu114
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu115
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu116
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu117
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu118
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu119
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu80
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu81
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu82
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu83
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu84
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu85
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu86
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu87
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu88
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu89
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu90
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu91
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu92
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu93
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu94
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu95
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu96
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu97
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu98
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node16/cpu99
create mode 100644 tests/nodeinfodata/linux-subcores3/node/node16/meminfo
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu120
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu121
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu122
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu123
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu124
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu125
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu126
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu127
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu128
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu129
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu130
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu131
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu132
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu133
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu134
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu135
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu136
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu137
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu138
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu139
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu140
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu141
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu142
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu143
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu144
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu145
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu146
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu147
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu148
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu149
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu150
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu151
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu152
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu153
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu154
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu155
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu156
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu157
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu158
create mode 120000 tests/nodeinfodata/linux-subcores3/node/node17/cpu159
create mode 100644 tests/nodeinfodata/linux-subcores3/node/node17/meminfo
create mode 100644 tests/nodeinfodata/linux-subcores3/node/online
create mode 100644 tests/nodeinfodata/linux-subcores3/node/possible
create mode 100644 tests/nodeinfomock.c
--
2.4.3
2
8
Signed-off-by: Cao jin <caoj.fnst(a)cn.fujitsu.com>
---
src/qemu/qemu_monitor.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index 4f30b15..15ba39b 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -838,7 +838,6 @@ qemuMonitorOpenInternal(virDomainObjPtr vm,
if (!(mon = virObjectLockableNew(qemuMonitorClass)))
return NULL;
- mon->fd = -1;
mon->logfd = -1;
if (virCondInit(&mon->notify) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
--
2.1.0
1
1
Hi All
I am trying to get up to speed with developing with libvirt. Can anyone provide some good examples in C of how to gather statistics from domains, network and storage?
The dev guide just has TBD for these items....
Kind regards
Kevin Walker
2
1
Our atomic increment (virAtomicIntInc) uses (if available) gcc
__sync_add_and_fetch builtin. In qemu driver though, we'd profit more
from __sync_fetch_and_add builtin. To keep it simplistic, this patch
adjusts qemu driver initialization rather than adding a new atomic
increment macro.
---
src/qemu/qemu_conf.c | 2 +-
src/qemu/qemu_conf.h | 2 +-
src/qemu/qemu_driver.c | 7 ++-----
3 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 38d4a86..29049dc 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -1492,7 +1492,7 @@ qemuSetUnprivSGIO(virDomainDeviceDefPtr dev)
int qemuDriverAllocateID(virQEMUDriverPtr driver)
{
- return virAtomicIntInc(&driver->nextvmid);
+ return virAtomicIntInc(&driver->lastvmid);
}
diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h
index 3f73929..ed9cd46 100644
--- a/src/qemu/qemu_conf.h
+++ b/src/qemu/qemu_conf.h
@@ -192,7 +192,7 @@ struct _virQEMUDriver {
virThreadPoolPtr workerPool;
/* Atomic increment only */
- int nextvmid;
+ int lastvmid;
/* Atomic inc/dec only */
unsigned int nactive;
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index a761448..055f0ca 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -612,7 +612,7 @@ qemuDomainFindMaxID(virDomainObjPtr vm,
int *driver_maxid = data;
if (vm->def->id >= *driver_maxid)
- *driver_maxid = vm->def->id + 1;
+ *driver_maxid = vm->def->id;
return 0;
}
@@ -649,9 +649,6 @@ qemuStateInitialize(bool privileged,
qemu_driver->inhibitCallback = callback;
qemu_driver->inhibitOpaque = opaque;
- /* Don't have a dom0 so start from 1 */
- qemu_driver->nextvmid = 1;
-
qemu_driver->privileged = privileged;
if (!(qemu_driver->domains = virDomainObjListNew()))
@@ -909,7 +906,7 @@ qemuStateInitialize(bool privileged,
* threads */
virDomainObjListForEach(qemu_driver->domains,
qemuDomainFindMaxID,
- &qemu_driver->nextvmid);
+ &qemu_driver->lastvmid);
virDomainObjListForEach(qemu_driver->domains,
qemuDomainNetsRestart,
--
2.4.3
2
2
[libvirt] [PATCH] lxc: Don't accidentaly reset autostart flag in virLXCProcessCleanup
by Peter Krempa 29 Jul '15
by Peter Krempa 29 Jul '15
29 Jul '15
virDomainDeleteConfig is meant to delete the persistent config and thus
it resets vm->autostart. Copy parts of qemuProcessRemoveDomainStatus to
a new helper to avoid using the incorrect function.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1230071
---
src/lxc/lxc_process.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
index 87ee484..e99b039 100644
--- a/src/lxc/lxc_process.c
+++ b/src/lxc/lxc_process.c
@@ -137,6 +137,23 @@ virLXCProcessReboot(virLXCDriverPtr driver,
}
+static void
+lxcProcessRemoveDomainStatus(virLXCDriverConfigPtr cfg,
+ virDomainObjPtr vm)
+{
+ char ebuf[1024];
+ char *file = NULL;
+
+ if (virAsprintf(&file, "%s/%s.xml", cfg->stateDir, vm->def->name) < 0)
+ return;
+
+ if (unlink(file) < 0 && errno != ENOENT && errno != ENOTDIR)
+ VIR_WARN("Failed to remove domain XML for %s: %s",
+ vm->def->name, virStrerror(errno, ebuf, sizeof(ebuf)));
+ VIR_FREE(file);
+}
+
+
/**
* virLXCProcessCleanup:
* @driver: pointer to driver structure
@@ -180,7 +197,7 @@ static void virLXCProcessCleanup(virLXCDriverPtr driver,
}
virPidFileDelete(cfg->stateDir, vm->def->name);
- virDomainDeleteConfig(cfg->stateDir, NULL, vm);
+ lxcProcessRemoveDomainStatus(cfg, vm);
virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, reason);
vm->pid = -1;
--
2.4.5
2
2
29 Jul '15
Our domain_conf.* files are big enough. Not only they contain XML
parsing code, but they served as a storage of all functions whose
name is virDomain prefixed. This is just wrong as it gathers not
related functions (and modules) into one big file which is then
harder to maintain. Split virDomainObjList module into a separate
file called virdomainobjlist.[ch].
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
BTW: this is the first patch of my attempt to merge
virDomainObjList and virNetworkObjList together into one
virObjectList as the code is pretty much duplicated between the
two.
I know the patch is rather big, but this all needs to be done in
a single commit if we want to remain compile-able after each
commit.
po/POTFILES.in | 1 +
src/Makefile.am | 3 +-
src/conf/domain_conf.c | 901 ----------------------------------------
src/conf/domain_conf.h | 115 ------
src/conf/nwfilter_conf.h | 2 +-
src/conf/virdomainobjlist.c | 966 +++++++++++++++++++++++++++++++++++++++++++
src/conf/virdomainobjlist.h | 146 +++++++
src/esx/esx_driver.c | 2 +-
src/hyperv/hyperv_driver.c | 2 +-
src/libvirt_private.syms | 35 +-
src/libxl/libxl_conf.h | 2 +-
src/openvz/openvz_conf.h | 2 +-
src/test/test_driver.c | 1 +
src/uml/uml_conf.h | 2 +-
src/util/virclosecallbacks.h | 2 +-
src/vbox/vbox_common.c | 2 +-
src/vmware/vmware_conf.h | 2 +-
src/vz/vz_utils.h | 2 +-
tools/virsh-domain-monitor.c | 2 +-
19 files changed, 1146 insertions(+), 1044 deletions(-)
create mode 100644 src/conf/virdomainobjlist.c
create mode 100644 src/conf/virdomainobjlist.h
diff --git a/po/POTFILES.in b/po/POTFILES.in
index a75f5ae..ea89347 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -36,6 +36,7 @@ src/conf/secret_conf.c
src/conf/snapshot_conf.c
src/conf/storage_conf.c
src/conf/virchrdev.c
+src/conf/virdomainobjlist.c
src/cpu/cpu.c
src/cpu/cpu_generic.c
src/cpu/cpu_map.c
diff --git a/src/Makefile.am b/src/Makefile.am
index be63e26..4d888ff 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -277,7 +277,8 @@ DOMAIN_CONF_SOURCES = \
conf/domain_audit.c conf/domain_audit.h \
conf/domain_nwfilter.c conf/domain_nwfilter.h \
conf/snapshot_conf.c conf/snapshot_conf.h \
- conf/numa_conf.c conf/numa_conf.h
+ conf/numa_conf.c conf/numa_conf.h \
+ conf/virdomainobjlist.c conf/virdomainobjlist.h
OBJECT_EVENT_SOURCES = \
conf/object_event.c conf/object_event.h \
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 5a9a88d..bd599f7 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -24,7 +24,6 @@
#include <config.h>
-#include <dirent.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
@@ -59,19 +58,6 @@
VIR_LOG_INIT("conf.domain_conf");
-struct _virDomainObjList {
- virObjectLockable parent;
-
- /* uuid string -> virDomainObj mapping
- * for O(1), lockless lookup-by-uuid */
- virHashTable *objs;
-
- /* name -> virDomainObj mapping for O(1),
- * lockless lookup-by-name */
- virHashTable *objsName;
-};
-
-
/* This structure holds various callbacks and data needed
* while parsing and creating domain XMLs */
struct _virDomainXMLOption {
@@ -804,10 +790,8 @@ VIR_ENUM_IMPL(virDomainMemoryModel, VIR_DOMAIN_MEMORY_MODEL_LAST,
"", "dimm")
static virClassPtr virDomainObjClass;
-static virClassPtr virDomainObjListClass;
static virClassPtr virDomainXMLOptionClass;
static void virDomainObjDispose(void *obj);
-static void virDomainObjListDispose(void *obj);
static void virDomainXMLOptionClassDispose(void *obj);
static int virDomainObjOnceInit(void)
@@ -818,12 +802,6 @@ static int virDomainObjOnceInit(void)
virDomainObjDispose)))
return -1;
- if (!(virDomainObjListClass = virClassNew(virClassForObjectLockable(),
- "virDomainObjList",
- sizeof(virDomainObjList),
- virDomainObjListDispose)))
- return -1;
-
if (!(virDomainXMLOptionClass = virClassNew(virClassForObject(),
"virDomainXMLOption",
sizeof(virDomainXMLOption),
@@ -1173,134 +1151,6 @@ virDomainDeviceDefCheckUnsupportedMemoryDevice(virDomainDeviceDefPtr dev)
}
-virDomainObjListPtr virDomainObjListNew(void)
-{
- virDomainObjListPtr doms;
-
- if (virDomainObjInitialize() < 0)
- return NULL;
-
- if (!(doms = virObjectLockableNew(virDomainObjListClass)))
- return NULL;
-
- if (!(doms->objs = virHashCreate(50, virObjectFreeHashData)) ||
- !(doms->objsName = virHashCreate(50, virObjectFreeHashData))) {
- virObjectUnref(doms);
- return NULL;
- }
-
- return doms;
-}
-
-
-static void virDomainObjListDispose(void *obj)
-{
- virDomainObjListPtr doms = obj;
-
- virHashFree(doms->objs);
- virHashFree(doms->objsName);
-}
-
-
-static int virDomainObjListSearchID(const void *payload,
- const void *name ATTRIBUTE_UNUSED,
- const void *data)
-{
- virDomainObjPtr obj = (virDomainObjPtr)payload;
- const int *id = data;
- int want = 0;
-
- virObjectLock(obj);
- if (virDomainObjIsActive(obj) &&
- obj->def->id == *id)
- want = 1;
- virObjectUnlock(obj);
- return want;
-}
-
-virDomainObjPtr virDomainObjListFindByID(virDomainObjListPtr doms,
- int id)
-{
- virDomainObjPtr obj;
- virObjectLock(doms);
- obj = virHashSearch(doms->objs, virDomainObjListSearchID, &id);
- if (obj) {
- virObjectLock(obj);
- if (obj->removing) {
- virObjectUnlock(obj);
- obj = NULL;
- }
- }
- virObjectUnlock(doms);
- return obj;
-}
-
-
-static virDomainObjPtr
-virDomainObjListFindByUUIDInternal(virDomainObjListPtr doms,
- const unsigned char *uuid,
- bool ref)
-{
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- virDomainObjPtr obj;
-
- virObjectLock(doms);
- virUUIDFormat(uuid, uuidstr);
-
- obj = virHashLookup(doms->objs, uuidstr);
- if (ref) {
- virObjectRef(obj);
- virObjectUnlock(doms);
- }
- if (obj) {
- virObjectLock(obj);
- if (obj->removing) {
- virObjectUnlock(obj);
- if (ref)
- virObjectUnref(obj);
- obj = NULL;
- }
- }
- if (!ref)
- virObjectUnlock(doms);
- return obj;
-}
-
-virDomainObjPtr
-virDomainObjListFindByUUID(virDomainObjListPtr doms,
- const unsigned char *uuid)
-{
- return virDomainObjListFindByUUIDInternal(doms, uuid, false);
-}
-
-virDomainObjPtr
-virDomainObjListFindByUUIDRef(virDomainObjListPtr doms,
- const unsigned char *uuid)
-{
- return virDomainObjListFindByUUIDInternal(doms, uuid, true);
-}
-
-virDomainObjPtr virDomainObjListFindByName(virDomainObjListPtr doms,
- const char *name)
-{
- virDomainObjPtr obj;
-
- virObjectLock(doms);
- obj = virHashLookup(doms->objsName, name);
- virObjectRef(obj);
- virObjectUnlock(doms);
- if (obj) {
- virObjectLock(obj);
- if (obj->removing) {
- virObjectUnlock(obj);
- virObjectUnref(obj);
- obj = NULL;
- }
- }
- return obj;
-}
-
-
bool virDomainObjTaint(virDomainObjPtr obj,
virDomainTaintFlags taint)
{
@@ -2705,118 +2555,6 @@ virDomainObjWaitUntil(virDomainObjPtr vm,
/*
- *
- * If flags & VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE then
- * this will refuse updating an existing def if the
- * current def is Live
- *
- * If flags & VIR_DOMAIN_OBJ_LIST_ADD_LIVE then
- * the @def being added is assumed to represent a
- * live config, not a future inactive config
- *
- */
-static virDomainObjPtr
-virDomainObjListAddLocked(virDomainObjListPtr doms,
- virDomainDefPtr def,
- virDomainXMLOptionPtr xmlopt,
- unsigned int flags,
- virDomainDefPtr *oldDef)
-{
- virDomainObjPtr vm;
- char uuidstr[VIR_UUID_STRING_BUFLEN];
-
- if (oldDef)
- *oldDef = NULL;
-
- virUUIDFormat(def->uuid, uuidstr);
-
- /* See if a VM with matching UUID already exists */
- if ((vm = virHashLookup(doms->objs, uuidstr))) {
- virObjectLock(vm);
- /* UUID matches, but if names don't match, refuse it */
- if (STRNEQ(vm->def->name, def->name)) {
- virUUIDFormat(vm->def->uuid, uuidstr);
- virReportError(VIR_ERR_OPERATION_FAILED,
- _("domain '%s' is already defined with uuid %s"),
- vm->def->name, uuidstr);
- goto error;
- }
-
- if (flags & VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE) {
- /* UUID & name match, but if VM is already active, refuse it */
- if (virDomainObjIsActive(vm)) {
- virReportError(VIR_ERR_OPERATION_INVALID,
- _("domain '%s' is already active"),
- vm->def->name);
- goto error;
- }
- if (!vm->persistent) {
- virReportError(VIR_ERR_OPERATION_INVALID,
- _("domain '%s' is already being started"),
- vm->def->name);
- goto error;
- }
- }
-
- virDomainObjAssignDef(vm,
- def,
- !!(flags & VIR_DOMAIN_OBJ_LIST_ADD_LIVE),
- oldDef);
- } else {
- /* UUID does not match, but if a name matches, refuse it */
- if ((vm = virHashLookup(doms->objsName, def->name))) {
- virObjectLock(vm);
- virUUIDFormat(vm->def->uuid, uuidstr);
- virReportError(VIR_ERR_OPERATION_FAILED,
- _("domain '%s' already exists with uuid %s"),
- def->name, uuidstr);
- goto error;
- }
-
- if (!(vm = virDomainObjNew(xmlopt)))
- goto cleanup;
- vm->def = def;
-
- virUUIDFormat(def->uuid, uuidstr);
- if (virHashAddEntry(doms->objs, uuidstr, vm) < 0) {
- virObjectUnref(vm);
- return NULL;
- }
-
- if (virHashAddEntry(doms->objsName, def->name, vm) < 0) {
- virHashRemoveEntry(doms->objs, uuidstr);
- return NULL;
- }
-
- /* Since domain is in two hash tables, increment the
- * reference counter */
- virObjectRef(vm);
- }
- cleanup:
- return vm;
-
- error:
- virObjectUnlock(vm);
- vm = NULL;
- goto cleanup;
-}
-
-
-virDomainObjPtr virDomainObjListAdd(virDomainObjListPtr doms,
- virDomainDefPtr def,
- virDomainXMLOptionPtr xmlopt,
- unsigned int flags,
- virDomainDefPtr *oldDef)
-{
- virDomainObjPtr ret;
-
- virObjectLock(doms);
- ret = virDomainObjListAddLocked(doms, def, xmlopt, flags, oldDef);
- virObjectUnlock(doms);
- return ret;
-}
-
-/*
* Mark the running VM config as transient. Ensures transient hotplug
* operations do not persist past shutdown.
*
@@ -3037,48 +2775,6 @@ virDomainObjGetOneDef(virDomainObjPtr vm,
}
-/*
- * The caller must hold a lock on the driver owning 'doms',
- * and must also have locked 'dom', to ensure no one else
- * is either waiting for 'dom' or still using it
- */
-void virDomainObjListRemove(virDomainObjListPtr doms,
- virDomainObjPtr dom)
-{
- char uuidstr[VIR_UUID_STRING_BUFLEN];
-
- dom->removing = true;
- virUUIDFormat(dom->def->uuid, uuidstr);
- virObjectRef(dom);
- virObjectUnlock(dom);
-
- virObjectLock(doms);
- virObjectLock(dom);
- virHashRemoveEntry(doms->objs, uuidstr);
- virHashRemoveEntry(doms->objsName, dom->def->name);
- virObjectUnlock(dom);
- virObjectUnref(dom);
- virObjectUnlock(doms);
-}
-
-/* The caller must hold lock on 'doms' in addition to 'virDomainObjListRemove'
- * requirements
- *
- * Can be used to remove current element while iterating with
- * virDomainObjListForEach
- */
-void virDomainObjListRemoveLocked(virDomainObjListPtr doms,
- virDomainObjPtr dom)
-{
- char uuidstr[VIR_UUID_STRING_BUFLEN];
-
- virUUIDFormat(dom->def->uuid, uuidstr);
-
- virHashRemoveEntry(doms->objs, uuidstr);
- virHashRemoveEntry(doms->objsName, dom->def->name);
- virObjectUnlock(dom);
-}
-
static int
virDomainDeviceCCWAddressIsValid(virDomainDeviceCCWAddressPtr addr)
{
@@ -22296,180 +21992,6 @@ virDomainSaveStatus(virDomainXMLOptionPtr xmlopt,
}
-static virDomainObjPtr
-virDomainObjListLoadConfig(virDomainObjListPtr doms,
- virCapsPtr caps,
- virDomainXMLOptionPtr xmlopt,
- const char *configDir,
- const char *autostartDir,
- const char *name,
- virDomainLoadConfigNotify notify,
- void *opaque)
-{
- char *configFile = NULL, *autostartLink = NULL;
- virDomainDefPtr def = NULL;
- virDomainObjPtr dom;
- int autostart;
- virDomainDefPtr oldDef = NULL;
-
- if ((configFile = virDomainConfigFile(configDir, name)) == NULL)
- goto error;
- if (!(def = virDomainDefParseFile(configFile, caps, xmlopt,
- VIR_DOMAIN_DEF_PARSE_INACTIVE |
- VIR_DOMAIN_DEF_PARSE_SKIP_OSTYPE_CHECKS)))
- goto error;
-
- if ((autostartLink = virDomainConfigFile(autostartDir, name)) == NULL)
- goto error;
-
- if ((autostart = virFileLinkPointsTo(autostartLink, configFile)) < 0)
- goto error;
-
- if (!(dom = virDomainObjListAddLocked(doms, def, xmlopt, 0, &oldDef)))
- goto error;
-
- dom->autostart = autostart;
-
- if (notify)
- (*notify)(dom, oldDef == NULL, opaque);
-
- virDomainDefFree(oldDef);
- VIR_FREE(configFile);
- VIR_FREE(autostartLink);
- return dom;
-
- error:
- VIR_FREE(configFile);
- VIR_FREE(autostartLink);
- virDomainDefFree(def);
- return NULL;
-}
-
-static virDomainObjPtr
-virDomainObjListLoadStatus(virDomainObjListPtr doms,
- const char *statusDir,
- const char *name,
- virCapsPtr caps,
- virDomainXMLOptionPtr xmlopt,
- virDomainLoadConfigNotify notify,
- void *opaque)
-{
- char *statusFile = NULL;
- virDomainObjPtr obj = NULL;
- char uuidstr[VIR_UUID_STRING_BUFLEN];
-
- if ((statusFile = virDomainConfigFile(statusDir, name)) == NULL)
- goto error;
-
- if (!(obj = virDomainObjParseFile(statusFile, caps, xmlopt,
- VIR_DOMAIN_DEF_PARSE_STATUS |
- VIR_DOMAIN_DEF_PARSE_ACTUAL_NET |
- VIR_DOMAIN_DEF_PARSE_PCI_ORIG_STATES |
- VIR_DOMAIN_DEF_PARSE_CLOCK_ADJUST |
- VIR_DOMAIN_DEF_PARSE_SKIP_OSTYPE_CHECKS)))
- goto error;
-
- virUUIDFormat(obj->def->uuid, uuidstr);
-
- if (virHashLookup(doms->objs, uuidstr) != NULL) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("unexpected domain %s already exists"),
- obj->def->name);
- goto error;
- }
-
- if (virHashAddEntry(doms->objs, uuidstr, obj) < 0)
- goto error;
-
- if (virHashAddEntry(doms->objsName, obj->def->name, obj) < 0) {
- virHashRemoveEntry(doms->objs, uuidstr);
- goto error;
- }
-
- /* Since domain is in two hash tables, increment the
- * reference counter */
- virObjectRef(obj);
-
- if (notify)
- (*notify)(obj, 1, opaque);
-
- VIR_FREE(statusFile);
- return obj;
-
- error:
- virObjectUnref(obj);
- VIR_FREE(statusFile);
- return NULL;
-}
-
-int
-virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
- const char *configDir,
- const char *autostartDir,
- int liveStatus,
- virCapsPtr caps,
- virDomainXMLOptionPtr xmlopt,
- virDomainLoadConfigNotify notify,
- void *opaque)
-{
- DIR *dir;
- struct dirent *entry;
- int ret = -1;
-
- VIR_INFO("Scanning for configs in %s", configDir);
-
- if (!(dir = opendir(configDir))) {
- if (errno == ENOENT)
- return 0;
- virReportSystemError(errno,
- _("Failed to open dir '%s'"),
- configDir);
- return -1;
- }
-
- virObjectLock(doms);
-
- while ((ret = virDirRead(dir, &entry, configDir)) > 0) {
- virDomainObjPtr dom;
-
- if (entry->d_name[0] == '.')
- continue;
-
- if (!virFileStripSuffix(entry->d_name, ".xml"))
- continue;
-
- /* NB: ignoring errors, so one malformed config doesn't
- kill the whole process */
- VIR_INFO("Loading config file '%s.xml'", entry->d_name);
- if (liveStatus)
- dom = virDomainObjListLoadStatus(doms,
- configDir,
- entry->d_name,
- caps,
- xmlopt,
- notify,
- opaque);
- else
- dom = virDomainObjListLoadConfig(doms,
- caps,
- xmlopt,
- configDir,
- autostartDir,
- entry->d_name,
- notify,
- opaque);
- if (dom) {
- if (!liveStatus)
- dom->persistent = 1;
- virObjectUnlock(dom);
- }
- }
-
- closedir(dir);
- virObjectUnlock(doms);
- return ret;
-}
-
int
virDomainDeleteConfig(const char *configDir,
const char *autostartDir,
@@ -22586,178 +22108,6 @@ virDomainGetFilesystemForTarget(virDomainDefPtr def,
}
-struct virDomainObjListData {
- virDomainObjListACLFilter filter;
- virConnectPtr conn;
- bool active;
- int count;
-};
-
-static void
-virDomainObjListCount(void *payload,
- const void *name ATTRIBUTE_UNUSED,
- void *opaque)
-{
- virDomainObjPtr obj = payload;
- struct virDomainObjListData *data = opaque;
- virObjectLock(obj);
- if (data->filter &&
- !data->filter(data->conn, obj->def))
- goto cleanup;
- if (virDomainObjIsActive(obj)) {
- if (data->active)
- data->count++;
- } else {
- if (!data->active)
- data->count++;
- }
- cleanup:
- virObjectUnlock(obj);
-}
-
-int
-virDomainObjListNumOfDomains(virDomainObjListPtr doms,
- bool active,
- virDomainObjListACLFilter filter,
- virConnectPtr conn)
-{
- struct virDomainObjListData data = { filter, conn, active, 0 };
- virObjectLock(doms);
- virHashForEach(doms->objs, virDomainObjListCount, &data);
- virObjectUnlock(doms);
- return data.count;
-}
-
-struct virDomainIDData {
- virDomainObjListACLFilter filter;
- virConnectPtr conn;
- int numids;
- int maxids;
- int *ids;
-};
-
-static void
-virDomainObjListCopyActiveIDs(void *payload,
- const void *name ATTRIBUTE_UNUSED,
- void *opaque)
-{
- virDomainObjPtr obj = payload;
- struct virDomainIDData *data = opaque;
- virObjectLock(obj);
- if (data->filter &&
- !data->filter(data->conn, obj->def))
- goto cleanup;
- if (virDomainObjIsActive(obj) && data->numids < data->maxids)
- data->ids[data->numids++] = obj->def->id;
- cleanup:
- virObjectUnlock(obj);
-}
-
-int
-virDomainObjListGetActiveIDs(virDomainObjListPtr doms,
- int *ids,
- int maxids,
- virDomainObjListACLFilter filter,
- virConnectPtr conn)
-{
- struct virDomainIDData data = { filter, conn,
- 0, maxids, ids };
- virObjectLock(doms);
- virHashForEach(doms->objs, virDomainObjListCopyActiveIDs, &data);
- virObjectUnlock(doms);
- return data.numids;
-}
-
-struct virDomainNameData {
- virDomainObjListACLFilter filter;
- virConnectPtr conn;
- int oom;
- int numnames;
- int maxnames;
- char **const names;
-};
-
-static void
-virDomainObjListCopyInactiveNames(void *payload,
- const void *name ATTRIBUTE_UNUSED,
- void *opaque)
-{
- virDomainObjPtr obj = payload;
- struct virDomainNameData *data = opaque;
-
- if (data->oom)
- return;
-
- virObjectLock(obj);
- if (data->filter &&
- !data->filter(data->conn, obj->def))
- goto cleanup;
- if (!virDomainObjIsActive(obj) && data->numnames < data->maxnames) {
- if (VIR_STRDUP(data->names[data->numnames], obj->def->name) < 0)
- data->oom = 1;
- else
- data->numnames++;
- }
- cleanup:
- virObjectUnlock(obj);
-}
-
-
-int
-virDomainObjListGetInactiveNames(virDomainObjListPtr doms,
- char **const names,
- int maxnames,
- virDomainObjListACLFilter filter,
- virConnectPtr conn)
-{
- struct virDomainNameData data = { filter, conn,
- 0, 0, maxnames, names };
- size_t i;
- virObjectLock(doms);
- virHashForEach(doms->objs, virDomainObjListCopyInactiveNames, &data);
- virObjectUnlock(doms);
- if (data.oom) {
- for (i = 0; i < data.numnames; i++)
- VIR_FREE(data.names[i]);
- return -1;
- }
-
- return data.numnames;
-}
-
-
-struct virDomainListIterData {
- virDomainObjListIterator callback;
- void *opaque;
- int ret;
-};
-
-static void
-virDomainObjListHelper(void *payload,
- const void *name ATTRIBUTE_UNUSED,
- void *opaque)
-{
- struct virDomainListIterData *data = opaque;
-
- if (data->callback(payload, data->opaque) < 0)
- data->ret = -1;
-}
-
-int
-virDomainObjListForEach(virDomainObjListPtr doms,
- virDomainObjListIterator callback,
- void *opaque)
-{
- struct virDomainListIterData data = {
- callback, opaque, 0,
- };
- virObjectLock(doms);
- virHashForEach(doms->objs, virDomainObjListHelper, &data);
- virObjectUnlock(doms);
- return data.ret;
-}
-
-
int
virDomainChrDefForeach(virDomainDefPtr def,
bool abortOnError,
@@ -23472,257 +22822,6 @@ virDomainDeviceDefCopy(virDomainDeviceDefPtr src,
}
-#define MATCH(FLAG) (filter & (FLAG))
-static bool
-virDomainObjMatchFilter(virDomainObjPtr vm,
- unsigned int filter)
-{
- /* filter by active state */
- if (MATCH(VIR_CONNECT_LIST_DOMAINS_FILTERS_ACTIVE) &&
- !((MATCH(VIR_CONNECT_LIST_DOMAINS_ACTIVE) &&
- virDomainObjIsActive(vm)) ||
- (MATCH(VIR_CONNECT_LIST_DOMAINS_INACTIVE) &&
- !virDomainObjIsActive(vm))))
- return false;
-
- /* filter by persistence */
- if (MATCH(VIR_CONNECT_LIST_DOMAINS_FILTERS_PERSISTENT) &&
- !((MATCH(VIR_CONNECT_LIST_DOMAINS_PERSISTENT) &&
- vm->persistent) ||
- (MATCH(VIR_CONNECT_LIST_DOMAINS_TRANSIENT) &&
- !vm->persistent)))
- return false;
-
- /* filter by domain state */
- if (MATCH(VIR_CONNECT_LIST_DOMAINS_FILTERS_STATE)) {
- int st = virDomainObjGetState(vm, NULL);
- if (!((MATCH(VIR_CONNECT_LIST_DOMAINS_RUNNING) &&
- st == VIR_DOMAIN_RUNNING) ||
- (MATCH(VIR_CONNECT_LIST_DOMAINS_PAUSED) &&
- st == VIR_DOMAIN_PAUSED) ||
- (MATCH(VIR_CONNECT_LIST_DOMAINS_SHUTOFF) &&
- st == VIR_DOMAIN_SHUTOFF) ||
- (MATCH(VIR_CONNECT_LIST_DOMAINS_OTHER) &&
- (st != VIR_DOMAIN_RUNNING &&
- st != VIR_DOMAIN_PAUSED &&
- st != VIR_DOMAIN_SHUTOFF))))
- return false;
- }
-
- /* filter by existence of managed save state */
- if (MATCH(VIR_CONNECT_LIST_DOMAINS_FILTERS_MANAGEDSAVE) &&
- !((MATCH(VIR_CONNECT_LIST_DOMAINS_MANAGEDSAVE) &&
- vm->hasManagedSave) ||
- (MATCH(VIR_CONNECT_LIST_DOMAINS_NO_MANAGEDSAVE) &&
- !vm->hasManagedSave)))
- return false;
-
- /* filter by autostart option */
- if (MATCH(VIR_CONNECT_LIST_DOMAINS_FILTERS_AUTOSTART) &&
- !((MATCH(VIR_CONNECT_LIST_DOMAINS_AUTOSTART) && vm->autostart) ||
- (MATCH(VIR_CONNECT_LIST_DOMAINS_NO_AUTOSTART) && !vm->autostart)))
- return false;
-
- /* filter by snapshot existence */
- if (MATCH(VIR_CONNECT_LIST_DOMAINS_FILTERS_SNAPSHOT)) {
- int nsnap = virDomainSnapshotObjListNum(vm->snapshots, NULL, 0);
- if (!((MATCH(VIR_CONNECT_LIST_DOMAINS_HAS_SNAPSHOT) && nsnap > 0) ||
- (MATCH(VIR_CONNECT_LIST_DOMAINS_NO_SNAPSHOT) && nsnap <= 0)))
- return false;
- }
-
- return true;
-}
-#undef MATCH
-
-
-struct virDomainListData {
- virDomainObjPtr *vms;
- size_t nvms;
-};
-
-
-static void
-virDomainObjListCollectIterator(void *payload,
- const void *name ATTRIBUTE_UNUSED,
- void *opaque)
-{
- struct virDomainListData *data = opaque;
-
- data->vms[data->nvms++] = virObjectRef(payload);
-}
-
-
-static void
-virDomainObjListFilter(virDomainObjPtr **list,
- size_t *nvms,
- virConnectPtr conn,
- virDomainObjListACLFilter filter,
- unsigned int flags)
-{
- size_t i = 0;
-
- while (i < *nvms) {
- virDomainObjPtr vm = (*list)[i];
-
- virObjectLock(vm);
-
- /* do not list the object if:
- * 1) it's being removed.
- * 2) connection does not have ACL to see it
- * 3) it doesn't match the filter
- */
- if (vm->removing ||
- (filter && !filter(conn, vm->def)) ||
- !virDomainObjMatchFilter(vm, flags)) {
- virObjectUnlock(vm);
- virObjectUnref(vm);
- VIR_DELETE_ELEMENT(*list, i, *nvms);
- continue;
- }
-
- virObjectUnlock(vm);
- i++;
- }
-}
-
-
-int
-virDomainObjListCollect(virDomainObjListPtr domlist,
- virConnectPtr conn,
- virDomainObjPtr **vms,
- size_t *nvms,
- virDomainObjListACLFilter filter,
- unsigned int flags)
-{
- struct virDomainListData data = { NULL, 0 };
-
- virObjectLock(domlist);
- sa_assert(domlist->objs);
- if (VIR_ALLOC_N(data.vms, virHashSize(domlist->objs)) < 0) {
- virObjectUnlock(domlist);
- return -1;
- }
-
- virHashForEach(domlist->objs, virDomainObjListCollectIterator, &data);
- virObjectUnlock(domlist);
-
- virDomainObjListFilter(&data.vms, &data.nvms, conn, filter, flags);
-
- *nvms = data.nvms;
- *vms = data.vms;
-
- return 0;
-}
-
-
-int
-virDomainObjListConvert(virDomainObjListPtr domlist,
- virConnectPtr conn,
- virDomainPtr *doms,
- size_t ndoms,
- virDomainObjPtr **vms,
- size_t *nvms,
- virDomainObjListACLFilter filter,
- unsigned int flags,
- bool skip_missing)
-{
- char uuidstr[VIR_UUID_STRING_BUFLEN];
- virDomainObjPtr vm;
- size_t i;
-
- *nvms = 0;
- *vms = NULL;
-
- virObjectLock(domlist);
- for (i = 0; i < ndoms; i++) {
- virDomainPtr dom = doms[i];
-
- virUUIDFormat(dom->uuid, uuidstr);
-
- if (!(vm = virHashLookup(domlist->objs, uuidstr))) {
- if (skip_missing)
- continue;
-
- virObjectUnlock(domlist);
- virReportError(VIR_ERR_NO_DOMAIN,
- _("no domain with matching uuid '%s' (%s)"),
- uuidstr, dom->name);
- goto error;
- }
-
- virObjectRef(vm);
-
- if (VIR_APPEND_ELEMENT(*vms, *nvms, vm) < 0) {
- virObjectUnlock(domlist);
- virObjectUnref(vm);
- goto error;
- }
- }
- virObjectUnlock(domlist);
-
- sa_assert(*vms);
- virDomainObjListFilter(vms, nvms, conn, filter, flags);
-
- return 0;
-
- error:
- virObjectListFreeCount(*vms, *nvms);
- *vms = NULL;
- *nvms = 0;
-
- return -1;
-}
-
-
-int
-virDomainObjListExport(virDomainObjListPtr domlist,
- virConnectPtr conn,
- virDomainPtr **domains,
- virDomainObjListACLFilter filter,
- unsigned int flags)
-{
- virDomainObjPtr *vms = NULL;
- virDomainPtr *doms = NULL;
- size_t nvms = 0;
- size_t i;
- int ret = -1;
-
- if (virDomainObjListCollect(domlist, conn, &vms, &nvms, filter, flags) < 0)
- return -1;
-
- if (domains) {
- if (VIR_ALLOC_N(doms, nvms + 1) < 0)
- goto cleanup;
-
- for (i = 0; i < nvms; i++) {
- virDomainObjPtr vm = vms[i];
-
- virObjectLock(vm);
-
- if (!(doms[i] = virGetDomain(conn, vm->def->name, vm->def->uuid))) {
- virObjectUnlock(vm);
- goto cleanup;
- }
-
- doms[i]->id = vm->def->id;
-
- virObjectUnlock(vm);
- }
-
- *domains = doms;
- doms = NULL;
- }
-
- ret = nvms;
-
- cleanup:
- virObjectListFree(doms);
- virObjectListFreeCount(vms, nvms);
- return ret;
-}
-
-
virSecurityLabelDefPtr
virDomainDefGetSecurityLabelDef(virDomainDefPtr def, const char *model)
{
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 50750c1..df63a4e 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2345,9 +2345,6 @@ struct _virDomainObj {
int taint;
};
-typedef struct _virDomainObjList virDomainObjList;
-typedef virDomainObjList *virDomainObjListPtr;
-
typedef bool (*virDomainObjListACLFilter)(virConnectPtr conn,
virDomainDefPtr def);
@@ -2427,17 +2424,6 @@ virDomainObjIsActive(virDomainObjPtr dom)
virDomainObjPtr virDomainObjNew(virDomainXMLOptionPtr caps)
ATTRIBUTE_NONNULL(1);
-virDomainObjListPtr virDomainObjListNew(void);
-
-virDomainObjPtr virDomainObjListFindByID(virDomainObjListPtr doms,
- int id);
-virDomainObjPtr virDomainObjListFindByUUID(virDomainObjListPtr doms,
- const unsigned char *uuid);
-virDomainObjPtr virDomainObjListFindByUUIDRef(virDomainObjListPtr doms,
- const unsigned char *uuid);
-virDomainObjPtr virDomainObjListFindByName(virDomainObjListPtr doms,
- const char *name);
-
void virDomainObjEndAPI(virDomainObjPtr *vm);
bool virDomainObjTaint(virDomainObjPtr obj,
@@ -2534,15 +2520,6 @@ virDomainDefPtr virDomainDefNewFull(const char *name,
const unsigned char *uuid,
int id);
-enum {
- VIR_DOMAIN_OBJ_LIST_ADD_LIVE = (1 << 0),
- VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE = (1 << 1),
-};
-virDomainObjPtr virDomainObjListAdd(virDomainObjListPtr doms,
- virDomainDefPtr def,
- virDomainXMLOptionPtr xmlopt,
- unsigned int flags,
- virDomainDefPtr *oldDef);
void virDomainObjAssignDef(virDomainObjPtr domain,
virDomainDefPtr def,
bool live,
@@ -2580,11 +2557,6 @@ virDomainDefPtr virDomainObjCopyPersistentDef(virDomainObjPtr dom,
virCapsPtr caps,
virDomainXMLOptionPtr xmlopt);
-void virDomainObjListRemove(virDomainObjListPtr doms,
- virDomainObjPtr dom);
-void virDomainObjListRemoveLocked(virDomainObjListPtr doms,
- virDomainObjPtr dom);
-
typedef enum {
/* parse internal domain status information */
VIR_DOMAIN_DEF_PARSE_STATUS = 1 << 0,
@@ -2847,15 +2819,6 @@ typedef void (*virDomainLoadConfigNotify)(virDomainObjPtr dom,
int newDomain,
void *opaque);
-int virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
- const char *configDir,
- const char *autostartDir,
- int liveStatus,
- virCapsPtr caps,
- virDomainXMLOptionPtr xmlopt,
- virDomainLoadConfigNotify notify,
- void *opaque);
-
int virDomainDeleteConfig(const char *configDir,
const char *autostartDir,
virDomainObjPtr dom);
@@ -2877,29 +2840,6 @@ int virDomainVideoDefaultType(const virDomainDef *def);
unsigned int virDomainVideoDefaultRAM(const virDomainDef *def,
const virDomainVideoType type);
-int virDomainObjListNumOfDomains(virDomainObjListPtr doms,
- bool active,
- virDomainObjListACLFilter filter,
- virConnectPtr conn);
-
-int virDomainObjListGetActiveIDs(virDomainObjListPtr doms,
- int *ids,
- int maxids,
- virDomainObjListACLFilter filter,
- virConnectPtr conn);
-int virDomainObjListGetInactiveNames(virDomainObjListPtr doms,
- char **const names,
- int maxnames,
- virDomainObjListACLFilter filter,
- virConnectPtr conn);
-
-typedef int (*virDomainObjListIterator)(virDomainObjPtr dom,
- void *opaque);
-
-int virDomainObjListForEach(virDomainObjListPtr doms,
- virDomainObjListIterator callback,
- void *opaque);
-
typedef int (*virDomainSmartcardDefIterator)(virDomainDefPtr def,
virDomainSmartcardDefPtr dev,
void *opaque);
@@ -3054,61 +2994,6 @@ VIR_ENUM_DECL(virDomainCpuPlacementMode)
VIR_ENUM_DECL(virDomainStartupPolicy)
-# define VIR_CONNECT_LIST_DOMAINS_FILTERS_ACTIVE \
- (VIR_CONNECT_LIST_DOMAINS_ACTIVE | \
- VIR_CONNECT_LIST_DOMAINS_INACTIVE)
-
-# define VIR_CONNECT_LIST_DOMAINS_FILTERS_PERSISTENT \
- (VIR_CONNECT_LIST_DOMAINS_PERSISTENT | \
- VIR_CONNECT_LIST_DOMAINS_TRANSIENT)
-
-# define VIR_CONNECT_LIST_DOMAINS_FILTERS_STATE \
- (VIR_CONNECT_LIST_DOMAINS_RUNNING | \
- VIR_CONNECT_LIST_DOMAINS_PAUSED | \
- VIR_CONNECT_LIST_DOMAINS_SHUTOFF | \
- VIR_CONNECT_LIST_DOMAINS_OTHER)
-
-# define VIR_CONNECT_LIST_DOMAINS_FILTERS_MANAGEDSAVE \
- (VIR_CONNECT_LIST_DOMAINS_MANAGEDSAVE | \
- VIR_CONNECT_LIST_DOMAINS_NO_MANAGEDSAVE)
-
-# define VIR_CONNECT_LIST_DOMAINS_FILTERS_AUTOSTART \
- (VIR_CONNECT_LIST_DOMAINS_AUTOSTART | \
- VIR_CONNECT_LIST_DOMAINS_NO_AUTOSTART)
-
-# define VIR_CONNECT_LIST_DOMAINS_FILTERS_SNAPSHOT \
- (VIR_CONNECT_LIST_DOMAINS_HAS_SNAPSHOT | \
- VIR_CONNECT_LIST_DOMAINS_NO_SNAPSHOT)
-
-# define VIR_CONNECT_LIST_DOMAINS_FILTERS_ALL \
- (VIR_CONNECT_LIST_DOMAINS_FILTERS_ACTIVE | \
- VIR_CONNECT_LIST_DOMAINS_FILTERS_PERSISTENT | \
- VIR_CONNECT_LIST_DOMAINS_FILTERS_STATE | \
- VIR_CONNECT_LIST_DOMAINS_FILTERS_MANAGEDSAVE | \
- VIR_CONNECT_LIST_DOMAINS_FILTERS_AUTOSTART | \
- VIR_CONNECT_LIST_DOMAINS_FILTERS_SNAPSHOT)
-
-int virDomainObjListCollect(virDomainObjListPtr doms,
- virConnectPtr conn,
- virDomainObjPtr **vms,
- size_t *nvms,
- virDomainObjListACLFilter filter,
- unsigned int flags);
-int virDomainObjListExport(virDomainObjListPtr doms,
- virConnectPtr conn,
- virDomainPtr **domains,
- virDomainObjListACLFilter filter,
- unsigned int flags);
-int virDomainObjListConvert(virDomainObjListPtr domlist,
- virConnectPtr conn,
- virDomainPtr *doms,
- size_t ndoms,
- virDomainObjPtr **vms,
- size_t *nvms,
- virDomainObjListACLFilter filter,
- unsigned int flags,
- bool skip_missing);
-
int
virDomainDefMaybeAddController(virDomainDefPtr def,
int type,
diff --git a/src/conf/nwfilter_conf.h b/src/conf/nwfilter_conf.h
index 6e68ecc..0211861 100644
--- a/src/conf/nwfilter_conf.h
+++ b/src/conf/nwfilter_conf.h
@@ -33,7 +33,7 @@
# include "virbuffer.h"
# include "virsocketaddr.h"
# include "virmacaddr.h"
-# include "domain_conf.h"
+# include "virdomainobjlist.h"
/* XXX
* The config parser/structs should not be using platform specific
diff --git a/src/conf/virdomainobjlist.c b/src/conf/virdomainobjlist.c
new file mode 100644
index 0000000..f1b548d
--- /dev/null
+++ b/src/conf/virdomainobjlist.c
@@ -0,0 +1,966 @@
+/*
+ * virdomainobjlist.c: domain objects list utilities
+ *
+ * Copyright (C) 2006-2015 Red Hat, Inc.
+ * Copyright (C) 2006-2008 Daniel P. Berrange
+ * Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Author: Daniel P. Berrange <berrange(a)redhat.com>
+ */
+
+#include <config.h>
+
+#include "internal.h"
+#include "datatypes.h"
+#include "virdomainobjlist.h"
+#include "snapshot_conf.h"
+#include "viralloc.h"
+#include "virfile.h"
+#include "virlog.h"
+#include "virstring.h"
+
+#define VIR_FROM_THIS VIR_FROM_DOMAIN
+
+VIR_LOG_INIT("conf.virdomainobjlist");
+
+static virClassPtr virDomainObjListClass;
+static void virDomainObjListDispose(void *obj);
+
+
+struct _virDomainObjList {
+ virObjectLockable parent;
+
+ /* uuid string -> virDomainObj mapping
+ * for O(1), lockless lookup-by-uuid */
+ virHashTable *objs;
+
+ /* name -> virDomainObj mapping for O(1),
+ * lockless lookup-by-name */
+ virHashTable *objsName;
+};
+
+
+static int virDomainObjListOnceInit(void)
+{
+ if (!(virDomainObjListClass = virClassNew(virClassForObjectLockable(),
+ "virDomainObjList",
+ sizeof(virDomainObjList),
+ virDomainObjListDispose)))
+ return -1;
+
+ return 0;
+}
+
+VIR_ONCE_GLOBAL_INIT(virDomainObjList)
+
+virDomainObjListPtr virDomainObjListNew(void)
+{
+ virDomainObjListPtr doms;
+
+ if (virDomainObjListInitialize() < 0)
+ return NULL;
+
+ if (!(doms = virObjectLockableNew(virDomainObjListClass)))
+ return NULL;
+
+ if (!(doms->objs = virHashCreate(50, virObjectFreeHashData)) ||
+ !(doms->objsName = virHashCreate(50, virObjectFreeHashData))) {
+ virObjectUnref(doms);
+ return NULL;
+ }
+
+ return doms;
+}
+
+
+static void virDomainObjListDispose(void *obj)
+{
+ virDomainObjListPtr doms = obj;
+
+ virHashFree(doms->objs);
+ virHashFree(doms->objsName);
+}
+
+
+static int virDomainObjListSearchID(const void *payload,
+ const void *name ATTRIBUTE_UNUSED,
+ const void *data)
+{
+ virDomainObjPtr obj = (virDomainObjPtr)payload;
+ const int *id = data;
+ int want = 0;
+
+ virObjectLock(obj);
+ if (virDomainObjIsActive(obj) &&
+ obj->def->id == *id)
+ want = 1;
+ virObjectUnlock(obj);
+ return want;
+}
+
+
+virDomainObjPtr virDomainObjListFindByID(virDomainObjListPtr doms,
+ int id)
+{
+ virDomainObjPtr obj;
+ virObjectLock(doms);
+ obj = virHashSearch(doms->objs, virDomainObjListSearchID, &id);
+ if (obj) {
+ virObjectLock(obj);
+ if (obj->removing) {
+ virObjectUnlock(obj);
+ obj = NULL;
+ }
+ }
+ virObjectUnlock(doms);
+ return obj;
+}
+
+
+static virDomainObjPtr
+virDomainObjListFindByUUIDInternal(virDomainObjListPtr doms,
+ const unsigned char *uuid,
+ bool ref)
+{
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
+ virDomainObjPtr obj;
+
+ virObjectLock(doms);
+ virUUIDFormat(uuid, uuidstr);
+
+ obj = virHashLookup(doms->objs, uuidstr);
+ if (ref) {
+ virObjectRef(obj);
+ virObjectUnlock(doms);
+ }
+ if (obj) {
+ virObjectLock(obj);
+ if (obj->removing) {
+ virObjectUnlock(obj);
+ if (ref)
+ virObjectUnref(obj);
+ obj = NULL;
+ }
+ }
+ if (!ref)
+ virObjectUnlock(doms);
+ return obj;
+}
+
+
+virDomainObjPtr
+virDomainObjListFindByUUID(virDomainObjListPtr doms,
+ const unsigned char *uuid)
+{
+ return virDomainObjListFindByUUIDInternal(doms, uuid, false);
+}
+
+
+virDomainObjPtr
+virDomainObjListFindByUUIDRef(virDomainObjListPtr doms,
+ const unsigned char *uuid)
+{
+ return virDomainObjListFindByUUIDInternal(doms, uuid, true);
+}
+
+
+virDomainObjPtr virDomainObjListFindByName(virDomainObjListPtr doms,
+ const char *name)
+{
+ virDomainObjPtr obj;
+
+ virObjectLock(doms);
+ obj = virHashLookup(doms->objsName, name);
+ virObjectRef(obj);
+ virObjectUnlock(doms);
+ if (obj) {
+ virObjectLock(obj);
+ if (obj->removing) {
+ virObjectUnlock(obj);
+ virObjectUnref(obj);
+ obj = NULL;
+ }
+ }
+ return obj;
+}
+
+
+/*
+ * virDomainObjListAddLocked:
+ *
+ * If flags & VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE then
+ * this will refuse updating an existing def if the
+ * current def is Live
+ *
+ * If flags & VIR_DOMAIN_OBJ_LIST_ADD_LIVE then
+ * the @def being added is assumed to represent a
+ * live config, not a future inactive config
+ *
+ */
+static virDomainObjPtr
+virDomainObjListAddLocked(virDomainObjListPtr doms,
+ virDomainDefPtr def,
+ virDomainXMLOptionPtr xmlopt,
+ unsigned int flags,
+ virDomainDefPtr *oldDef)
+{
+ virDomainObjPtr vm;
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
+
+ if (oldDef)
+ *oldDef = NULL;
+
+ virUUIDFormat(def->uuid, uuidstr);
+
+ /* See if a VM with matching UUID already exists */
+ if ((vm = virHashLookup(doms->objs, uuidstr))) {
+ virObjectLock(vm);
+ /* UUID matches, but if names don't match, refuse it */
+ if (STRNEQ(vm->def->name, def->name)) {
+ virUUIDFormat(vm->def->uuid, uuidstr);
+ virReportError(VIR_ERR_OPERATION_FAILED,
+ _("domain '%s' is already defined with uuid %s"),
+ vm->def->name, uuidstr);
+ goto error;
+ }
+
+ if (flags & VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE) {
+ /* UUID & name match, but if VM is already active, refuse it */
+ if (virDomainObjIsActive(vm)) {
+ virReportError(VIR_ERR_OPERATION_INVALID,
+ _("domain '%s' is already active"),
+ vm->def->name);
+ goto error;
+ }
+ if (!vm->persistent) {
+ virReportError(VIR_ERR_OPERATION_INVALID,
+ _("domain '%s' is already being started"),
+ vm->def->name);
+ goto error;
+ }
+ }
+
+ virDomainObjAssignDef(vm,
+ def,
+ !!(flags & VIR_DOMAIN_OBJ_LIST_ADD_LIVE),
+ oldDef);
+ } else {
+ /* UUID does not match, but if a name matches, refuse it */
+ if ((vm = virHashLookup(doms->objsName, def->name))) {
+ virObjectLock(vm);
+ virUUIDFormat(vm->def->uuid, uuidstr);
+ virReportError(VIR_ERR_OPERATION_FAILED,
+ _("domain '%s' already exists with uuid %s"),
+ def->name, uuidstr);
+ goto error;
+ }
+
+ if (!(vm = virDomainObjNew(xmlopt)))
+ goto cleanup;
+ vm->def = def;
+
+ virUUIDFormat(def->uuid, uuidstr);
+ if (virHashAddEntry(doms->objs, uuidstr, vm) < 0) {
+ virObjectUnref(vm);
+ return NULL;
+ }
+
+ if (virHashAddEntry(doms->objsName, def->name, vm) < 0) {
+ virHashRemoveEntry(doms->objs, uuidstr);
+ return NULL;
+ }
+
+ /* Since domain is in two hash tables, increment the
+ * reference counter */
+ virObjectRef(vm);
+ }
+ cleanup:
+ return vm;
+
+ error:
+ virObjectUnlock(vm);
+ vm = NULL;
+ goto cleanup;
+}
+
+
+virDomainObjPtr virDomainObjListAdd(virDomainObjListPtr doms,
+ virDomainDefPtr def,
+ virDomainXMLOptionPtr xmlopt,
+ unsigned int flags,
+ virDomainDefPtr *oldDef)
+{
+ virDomainObjPtr ret;
+
+ virObjectLock(doms);
+ ret = virDomainObjListAddLocked(doms, def, xmlopt, flags, oldDef);
+ virObjectUnlock(doms);
+ return ret;
+}
+
+
+/*
+ * The caller must hold a lock on the driver owning 'doms',
+ * and must also have locked 'dom', to ensure no one else
+ * is either waiting for 'dom' or still using it
+ */
+void virDomainObjListRemove(virDomainObjListPtr doms,
+ virDomainObjPtr dom)
+{
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
+
+ dom->removing = true;
+ virUUIDFormat(dom->def->uuid, uuidstr);
+ virObjectRef(dom);
+ virObjectUnlock(dom);
+
+ virObjectLock(doms);
+ virObjectLock(dom);
+ virHashRemoveEntry(doms->objs, uuidstr);
+ virHashRemoveEntry(doms->objsName, dom->def->name);
+ virObjectUnlock(dom);
+ virObjectUnref(dom);
+ virObjectUnlock(doms);
+}
+
+
+/* The caller must hold lock on 'doms' in addition to 'virDomainObjListRemove'
+ * requirements
+ *
+ * Can be used to remove current element while iterating with
+ * virDomainObjListForEach
+ */
+void virDomainObjListRemoveLocked(virDomainObjListPtr doms,
+ virDomainObjPtr dom)
+{
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
+
+ virUUIDFormat(dom->def->uuid, uuidstr);
+
+ virHashRemoveEntry(doms->objs, uuidstr);
+ virHashRemoveEntry(doms->objsName, dom->def->name);
+ virObjectUnlock(dom);
+}
+
+
+static virDomainObjPtr
+virDomainObjListLoadConfig(virDomainObjListPtr doms,
+ virCapsPtr caps,
+ virDomainXMLOptionPtr xmlopt,
+ const char *configDir,
+ const char *autostartDir,
+ const char *name,
+ virDomainLoadConfigNotify notify,
+ void *opaque)
+{
+ char *configFile = NULL, *autostartLink = NULL;
+ virDomainDefPtr def = NULL;
+ virDomainObjPtr dom;
+ int autostart;
+ virDomainDefPtr oldDef = NULL;
+
+ if ((configFile = virDomainConfigFile(configDir, name)) == NULL)
+ goto error;
+ if (!(def = virDomainDefParseFile(configFile, caps, xmlopt,
+ VIR_DOMAIN_DEF_PARSE_INACTIVE |
+ VIR_DOMAIN_DEF_PARSE_SKIP_OSTYPE_CHECKS)))
+ goto error;
+
+ if ((autostartLink = virDomainConfigFile(autostartDir, name)) == NULL)
+ goto error;
+
+ if ((autostart = virFileLinkPointsTo(autostartLink, configFile)) < 0)
+ goto error;
+
+ if (!(dom = virDomainObjListAddLocked(doms, def, xmlopt, 0, &oldDef)))
+ goto error;
+
+ dom->autostart = autostart;
+
+ if (notify)
+ (*notify)(dom, oldDef == NULL, opaque);
+
+ virDomainDefFree(oldDef);
+ VIR_FREE(configFile);
+ VIR_FREE(autostartLink);
+ return dom;
+
+ error:
+ VIR_FREE(configFile);
+ VIR_FREE(autostartLink);
+ virDomainDefFree(def);
+ return NULL;
+}
+
+
+static virDomainObjPtr
+virDomainObjListLoadStatus(virDomainObjListPtr doms,
+ const char *statusDir,
+ const char *name,
+ virCapsPtr caps,
+ virDomainXMLOptionPtr xmlopt,
+ virDomainLoadConfigNotify notify,
+ void *opaque)
+{
+ char *statusFile = NULL;
+ virDomainObjPtr obj = NULL;
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
+
+ if ((statusFile = virDomainConfigFile(statusDir, name)) == NULL)
+ goto error;
+
+ if (!(obj = virDomainObjParseFile(statusFile, caps, xmlopt,
+ VIR_DOMAIN_DEF_PARSE_STATUS |
+ VIR_DOMAIN_DEF_PARSE_ACTUAL_NET |
+ VIR_DOMAIN_DEF_PARSE_PCI_ORIG_STATES |
+ VIR_DOMAIN_DEF_PARSE_CLOCK_ADJUST |
+ VIR_DOMAIN_DEF_PARSE_SKIP_OSTYPE_CHECKS)))
+ goto error;
+
+ virUUIDFormat(obj->def->uuid, uuidstr);
+
+ if (virHashLookup(doms->objs, uuidstr) != NULL) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("unexpected domain %s already exists"),
+ obj->def->name);
+ goto error;
+ }
+
+ if (virHashAddEntry(doms->objs, uuidstr, obj) < 0)
+ goto error;
+
+ if (virHashAddEntry(doms->objsName, obj->def->name, obj) < 0) {
+ virHashRemoveEntry(doms->objs, uuidstr);
+ goto error;
+ }
+
+ /* Since domain is in two hash tables, increment the
+ * reference counter */
+ virObjectRef(obj);
+
+ if (notify)
+ (*notify)(obj, 1, opaque);
+
+ VIR_FREE(statusFile);
+ return obj;
+
+ error:
+ virObjectUnref(obj);
+ VIR_FREE(statusFile);
+ return NULL;
+}
+
+
+int
+virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
+ const char *configDir,
+ const char *autostartDir,
+ int liveStatus,
+ virCapsPtr caps,
+ virDomainXMLOptionPtr xmlopt,
+ virDomainLoadConfigNotify notify,
+ void *opaque)
+{
+ DIR *dir;
+ struct dirent *entry;
+ int ret = -1;
+
+ VIR_INFO("Scanning for configs in %s", configDir);
+
+ if (!(dir = opendir(configDir))) {
+ if (errno == ENOENT)
+ return 0;
+ virReportSystemError(errno,
+ _("Failed to open dir '%s'"),
+ configDir);
+ return -1;
+ }
+
+ virObjectLock(doms);
+
+ while ((ret = virDirRead(dir, &entry, configDir)) > 0) {
+ virDomainObjPtr dom;
+
+ if (entry->d_name[0] == '.')
+ continue;
+
+ if (!virFileStripSuffix(entry->d_name, ".xml"))
+ continue;
+
+ /* NB: ignoring errors, so one malformed config doesn't
+ kill the whole process */
+ VIR_INFO("Loading config file '%s.xml'", entry->d_name);
+ if (liveStatus)
+ dom = virDomainObjListLoadStatus(doms,
+ configDir,
+ entry->d_name,
+ caps,
+ xmlopt,
+ notify,
+ opaque);
+ else
+ dom = virDomainObjListLoadConfig(doms,
+ caps,
+ xmlopt,
+ configDir,
+ autostartDir,
+ entry->d_name,
+ notify,
+ opaque);
+ if (dom) {
+ if (!liveStatus)
+ dom->persistent = 1;
+ virObjectUnlock(dom);
+ }
+ }
+
+ closedir(dir);
+ virObjectUnlock(doms);
+ return ret;
+}
+
+
+struct virDomainObjListData {
+ virDomainObjListACLFilter filter;
+ virConnectPtr conn;
+ bool active;
+ int count;
+};
+
+
+static void
+virDomainObjListCount(void *payload,
+ const void *name ATTRIBUTE_UNUSED,
+ void *opaque)
+{
+ virDomainObjPtr obj = payload;
+ struct virDomainObjListData *data = opaque;
+ virObjectLock(obj);
+ if (data->filter &&
+ !data->filter(data->conn, obj->def))
+ goto cleanup;
+ if (virDomainObjIsActive(obj)) {
+ if (data->active)
+ data->count++;
+ } else {
+ if (!data->active)
+ data->count++;
+ }
+ cleanup:
+ virObjectUnlock(obj);
+}
+
+
+int
+virDomainObjListNumOfDomains(virDomainObjListPtr doms,
+ bool active,
+ virDomainObjListACLFilter filter,
+ virConnectPtr conn)
+{
+ struct virDomainObjListData data = { filter, conn, active, 0 };
+ virObjectLock(doms);
+ virHashForEach(doms->objs, virDomainObjListCount, &data);
+ virObjectUnlock(doms);
+ return data.count;
+}
+
+
+struct virDomainIDData {
+ virDomainObjListACLFilter filter;
+ virConnectPtr conn;
+ int numids;
+ int maxids;
+ int *ids;
+};
+
+
+static void
+virDomainObjListCopyActiveIDs(void *payload,
+ const void *name ATTRIBUTE_UNUSED,
+ void *opaque)
+{
+ virDomainObjPtr obj = payload;
+ struct virDomainIDData *data = opaque;
+ virObjectLock(obj);
+ if (data->filter &&
+ !data->filter(data->conn, obj->def))
+ goto cleanup;
+ if (virDomainObjIsActive(obj) && data->numids < data->maxids)
+ data->ids[data->numids++] = obj->def->id;
+ cleanup:
+ virObjectUnlock(obj);
+}
+
+
+int
+virDomainObjListGetActiveIDs(virDomainObjListPtr doms,
+ int *ids,
+ int maxids,
+ virDomainObjListACLFilter filter,
+ virConnectPtr conn)
+{
+ struct virDomainIDData data = { filter, conn,
+ 0, maxids, ids };
+ virObjectLock(doms);
+ virHashForEach(doms->objs, virDomainObjListCopyActiveIDs, &data);
+ virObjectUnlock(doms);
+ return data.numids;
+}
+
+
+struct virDomainNameData {
+ virDomainObjListACLFilter filter;
+ virConnectPtr conn;
+ int oom;
+ int numnames;
+ int maxnames;
+ char **const names;
+};
+
+
+static void
+virDomainObjListCopyInactiveNames(void *payload,
+ const void *name ATTRIBUTE_UNUSED,
+ void *opaque)
+{
+ virDomainObjPtr obj = payload;
+ struct virDomainNameData *data = opaque;
+
+ if (data->oom)
+ return;
+
+ virObjectLock(obj);
+ if (data->filter &&
+ !data->filter(data->conn, obj->def))
+ goto cleanup;
+ if (!virDomainObjIsActive(obj) && data->numnames < data->maxnames) {
+ if (VIR_STRDUP(data->names[data->numnames], obj->def->name) < 0)
+ data->oom = 1;
+ else
+ data->numnames++;
+ }
+ cleanup:
+ virObjectUnlock(obj);
+}
+
+
+int
+virDomainObjListGetInactiveNames(virDomainObjListPtr doms,
+ char **const names,
+ int maxnames,
+ virDomainObjListACLFilter filter,
+ virConnectPtr conn)
+{
+ struct virDomainNameData data = { filter, conn,
+ 0, 0, maxnames, names };
+ size_t i;
+ virObjectLock(doms);
+ virHashForEach(doms->objs, virDomainObjListCopyInactiveNames, &data);
+ virObjectUnlock(doms);
+ if (data.oom) {
+ for (i = 0; i < data.numnames; i++)
+ VIR_FREE(data.names[i]);
+ return -1;
+ }
+
+ return data.numnames;
+}
+
+
+struct virDomainListIterData {
+ virDomainObjListIterator callback;
+ void *opaque;
+ int ret;
+};
+
+
+static void
+virDomainObjListHelper(void *payload,
+ const void *name ATTRIBUTE_UNUSED,
+ void *opaque)
+{
+ struct virDomainListIterData *data = opaque;
+
+ if (data->callback(payload, data->opaque) < 0)
+ data->ret = -1;
+}
+
+
+int
+virDomainObjListForEach(virDomainObjListPtr doms,
+ virDomainObjListIterator callback,
+ void *opaque)
+{
+ struct virDomainListIterData data = {
+ callback, opaque, 0,
+ };
+ virObjectLock(doms);
+ virHashForEach(doms->objs, virDomainObjListHelper, &data);
+ virObjectUnlock(doms);
+ return data.ret;
+}
+
+
+#define MATCH(FLAG) (filter & (FLAG))
+static bool
+virDomainObjMatchFilter(virDomainObjPtr vm,
+ unsigned int filter)
+{
+ /* filter by active state */
+ if (MATCH(VIR_CONNECT_LIST_DOMAINS_FILTERS_ACTIVE) &&
+ !((MATCH(VIR_CONNECT_LIST_DOMAINS_ACTIVE) &&
+ virDomainObjIsActive(vm)) ||
+ (MATCH(VIR_CONNECT_LIST_DOMAINS_INACTIVE) &&
+ !virDomainObjIsActive(vm))))
+ return false;
+
+ /* filter by persistence */
+ if (MATCH(VIR_CONNECT_LIST_DOMAINS_FILTERS_PERSISTENT) &&
+ !((MATCH(VIR_CONNECT_LIST_DOMAINS_PERSISTENT) &&
+ vm->persistent) ||
+ (MATCH(VIR_CONNECT_LIST_DOMAINS_TRANSIENT) &&
+ !vm->persistent)))
+ return false;
+
+ /* filter by domain state */
+ if (MATCH(VIR_CONNECT_LIST_DOMAINS_FILTERS_STATE)) {
+ int st = virDomainObjGetState(vm, NULL);
+ if (!((MATCH(VIR_CONNECT_LIST_DOMAINS_RUNNING) &&
+ st == VIR_DOMAIN_RUNNING) ||
+ (MATCH(VIR_CONNECT_LIST_DOMAINS_PAUSED) &&
+ st == VIR_DOMAIN_PAUSED) ||
+ (MATCH(VIR_CONNECT_LIST_DOMAINS_SHUTOFF) &&
+ st == VIR_DOMAIN_SHUTOFF) ||
+ (MATCH(VIR_CONNECT_LIST_DOMAINS_OTHER) &&
+ (st != VIR_DOMAIN_RUNNING &&
+ st != VIR_DOMAIN_PAUSED &&
+ st != VIR_DOMAIN_SHUTOFF))))
+ return false;
+ }
+
+ /* filter by existence of managed save state */
+ if (MATCH(VIR_CONNECT_LIST_DOMAINS_FILTERS_MANAGEDSAVE) &&
+ !((MATCH(VIR_CONNECT_LIST_DOMAINS_MANAGEDSAVE) &&
+ vm->hasManagedSave) ||
+ (MATCH(VIR_CONNECT_LIST_DOMAINS_NO_MANAGEDSAVE) &&
+ !vm->hasManagedSave)))
+ return false;
+
+ /* filter by autostart option */
+ if (MATCH(VIR_CONNECT_LIST_DOMAINS_FILTERS_AUTOSTART) &&
+ !((MATCH(VIR_CONNECT_LIST_DOMAINS_AUTOSTART) && vm->autostart) ||
+ (MATCH(VIR_CONNECT_LIST_DOMAINS_NO_AUTOSTART) && !vm->autostart)))
+ return false;
+
+ /* filter by snapshot existence */
+ if (MATCH(VIR_CONNECT_LIST_DOMAINS_FILTERS_SNAPSHOT)) {
+ int nsnap = virDomainSnapshotObjListNum(vm->snapshots, NULL, 0);
+ if (!((MATCH(VIR_CONNECT_LIST_DOMAINS_HAS_SNAPSHOT) && nsnap > 0) ||
+ (MATCH(VIR_CONNECT_LIST_DOMAINS_NO_SNAPSHOT) && nsnap <= 0)))
+ return false;
+ }
+
+ return true;
+}
+#undef MATCH
+
+
+struct virDomainListData {
+ virDomainObjPtr *vms;
+ size_t nvms;
+};
+
+
+static void
+virDomainObjListCollectIterator(void *payload,
+ const void *name ATTRIBUTE_UNUSED,
+ void *opaque)
+{
+ struct virDomainListData *data = opaque;
+
+ data->vms[data->nvms++] = virObjectRef(payload);
+}
+
+
+static void
+virDomainObjListFilter(virDomainObjPtr **list,
+ size_t *nvms,
+ virConnectPtr conn,
+ virDomainObjListACLFilter filter,
+ unsigned int flags)
+{
+ size_t i = 0;
+
+ while (i < *nvms) {
+ virDomainObjPtr vm = (*list)[i];
+
+ virObjectLock(vm);
+
+ /* do not list the object if:
+ * 1) it's being removed.
+ * 2) connection does not have ACL to see it
+ * 3) it doesn't match the filter
+ */
+ if (vm->removing ||
+ (filter && !filter(conn, vm->def)) ||
+ !virDomainObjMatchFilter(vm, flags)) {
+ virObjectUnlock(vm);
+ virObjectUnref(vm);
+ VIR_DELETE_ELEMENT(*list, i, *nvms);
+ continue;
+ }
+
+ virObjectUnlock(vm);
+ i++;
+ }
+}
+
+
+int
+virDomainObjListCollect(virDomainObjListPtr domlist,
+ virConnectPtr conn,
+ virDomainObjPtr **vms,
+ size_t *nvms,
+ virDomainObjListACLFilter filter,
+ unsigned int flags)
+{
+ struct virDomainListData data = { NULL, 0 };
+
+ virObjectLock(domlist);
+ sa_assert(domlist->objs);
+ if (VIR_ALLOC_N(data.vms, virHashSize(domlist->objs)) < 0) {
+ virObjectUnlock(domlist);
+ return -1;
+ }
+
+ virHashForEach(domlist->objs, virDomainObjListCollectIterator, &data);
+ virObjectUnlock(domlist);
+
+ virDomainObjListFilter(&data.vms, &data.nvms, conn, filter, flags);
+
+ *nvms = data.nvms;
+ *vms = data.vms;
+
+ return 0;
+}
+
+
+int
+virDomainObjListConvert(virDomainObjListPtr domlist,
+ virConnectPtr conn,
+ virDomainPtr *doms,
+ size_t ndoms,
+ virDomainObjPtr **vms,
+ size_t *nvms,
+ virDomainObjListACLFilter filter,
+ unsigned int flags,
+ bool skip_missing)
+{
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
+ virDomainObjPtr vm;
+ size_t i;
+
+ *nvms = 0;
+ *vms = NULL;
+
+ virObjectLock(domlist);
+ for (i = 0; i < ndoms; i++) {
+ virDomainPtr dom = doms[i];
+
+ virUUIDFormat(dom->uuid, uuidstr);
+
+ if (!(vm = virHashLookup(domlist->objs, uuidstr))) {
+ if (skip_missing)
+ continue;
+
+ virObjectUnlock(domlist);
+ virReportError(VIR_ERR_NO_DOMAIN,
+ _("no domain with matching uuid '%s' (%s)"),
+ uuidstr, dom->name);
+ goto error;
+ }
+
+ virObjectRef(vm);
+
+ if (VIR_APPEND_ELEMENT(*vms, *nvms, vm) < 0) {
+ virObjectUnlock(domlist);
+ virObjectUnref(vm);
+ goto error;
+ }
+ }
+ virObjectUnlock(domlist);
+
+ sa_assert(*vms);
+ virDomainObjListFilter(vms, nvms, conn, filter, flags);
+
+ return 0;
+
+ error:
+ virObjectListFreeCount(*vms, *nvms);
+ *vms = NULL;
+ *nvms = 0;
+
+ return -1;
+}
+
+
+int
+virDomainObjListExport(virDomainObjListPtr domlist,
+ virConnectPtr conn,
+ virDomainPtr **domains,
+ virDomainObjListACLFilter filter,
+ unsigned int flags)
+{
+ virDomainObjPtr *vms = NULL;
+ virDomainPtr *doms = NULL;
+ size_t nvms = 0;
+ size_t i;
+ int ret = -1;
+
+ if (virDomainObjListCollect(domlist, conn, &vms, &nvms, filter, flags) < 0)
+ return -1;
+
+ if (domains) {
+ if (VIR_ALLOC_N(doms, nvms + 1) < 0)
+ goto cleanup;
+
+ for (i = 0; i < nvms; i++) {
+ virDomainObjPtr vm = vms[i];
+
+ virObjectLock(vm);
+
+ if (!(doms[i] = virGetDomain(conn, vm->def->name, vm->def->uuid))) {
+ virObjectUnlock(vm);
+ goto cleanup;
+ }
+
+ doms[i]->id = vm->def->id;
+
+ virObjectUnlock(vm);
+ }
+
+ *domains = doms;
+ doms = NULL;
+ }
+
+ ret = nvms;
+
+ cleanup:
+ virObjectListFree(doms);
+ virObjectListFreeCount(vms, nvms);
+ return ret;
+}
diff --git a/src/conf/virdomainobjlist.h b/src/conf/virdomainobjlist.h
new file mode 100644
index 0000000..bcff88a
--- /dev/null
+++ b/src/conf/virdomainobjlist.h
@@ -0,0 +1,146 @@
+/*
+ * virdomainobjlist.h: domain objects list utilities
+ *
+ * Copyright (C) 2006-2015 Red Hat, Inc.
+ * Copyright (C) 2006-2008 Daniel P. Berrange
+ * Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Author: Daniel P. Berrange <berrange(a)redhat.com>
+ */
+
+#ifndef __VIRDOMAINOBJLIST_H__
+# define __VIRDOMAINOBJLIST_H__
+
+# include "domain_conf.h"
+
+typedef struct _virDomainObjList virDomainObjList;
+typedef virDomainObjList *virDomainObjListPtr;
+
+virDomainObjListPtr virDomainObjListNew(void);
+
+virDomainObjPtr virDomainObjListFindByID(virDomainObjListPtr doms,
+ int id);
+virDomainObjPtr virDomainObjListFindByUUID(virDomainObjListPtr doms,
+ const unsigned char *uuid);
+virDomainObjPtr virDomainObjListFindByUUIDRef(virDomainObjListPtr doms,
+ const unsigned char *uuid);
+virDomainObjPtr virDomainObjListFindByName(virDomainObjListPtr doms,
+ const char *name);
+
+enum {
+ VIR_DOMAIN_OBJ_LIST_ADD_LIVE = (1 << 0),
+ VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE = (1 << 1),
+};
+virDomainObjPtr virDomainObjListAdd(virDomainObjListPtr doms,
+ virDomainDefPtr def,
+ virDomainXMLOptionPtr xmlopt,
+ unsigned int flags,
+ virDomainDefPtr *oldDef);
+
+void virDomainObjListRemove(virDomainObjListPtr doms,
+ virDomainObjPtr dom);
+void virDomainObjListRemoveLocked(virDomainObjListPtr doms,
+ virDomainObjPtr dom);
+
+int virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
+ const char *configDir,
+ const char *autostartDir,
+ int liveStatus,
+ virCapsPtr caps,
+ virDomainXMLOptionPtr xmlopt,
+ virDomainLoadConfigNotify notify,
+ void *opaque);
+
+int virDomainObjListNumOfDomains(virDomainObjListPtr doms,
+ bool active,
+ virDomainObjListACLFilter filter,
+ virConnectPtr conn);
+
+int virDomainObjListGetActiveIDs(virDomainObjListPtr doms,
+ int *ids,
+ int maxids,
+ virDomainObjListACLFilter filter,
+ virConnectPtr conn);
+int virDomainObjListGetInactiveNames(virDomainObjListPtr doms,
+ char **const names,
+ int maxnames,
+ virDomainObjListACLFilter filter,
+ virConnectPtr conn);
+
+typedef int (*virDomainObjListIterator)(virDomainObjPtr dom,
+ void *opaque);
+
+int virDomainObjListForEach(virDomainObjListPtr doms,
+ virDomainObjListIterator callback,
+ void *opaque);
+
+# define VIR_CONNECT_LIST_DOMAINS_FILTERS_ACTIVE \
+ (VIR_CONNECT_LIST_DOMAINS_ACTIVE | \
+ VIR_CONNECT_LIST_DOMAINS_INACTIVE)
+
+# define VIR_CONNECT_LIST_DOMAINS_FILTERS_PERSISTENT \
+ (VIR_CONNECT_LIST_DOMAINS_PERSISTENT | \
+ VIR_CONNECT_LIST_DOMAINS_TRANSIENT)
+
+# define VIR_CONNECT_LIST_DOMAINS_FILTERS_STATE \
+ (VIR_CONNECT_LIST_DOMAINS_RUNNING | \
+ VIR_CONNECT_LIST_DOMAINS_PAUSED | \
+ VIR_CONNECT_LIST_DOMAINS_SHUTOFF | \
+ VIR_CONNECT_LIST_DOMAINS_OTHER)
+
+# define VIR_CONNECT_LIST_DOMAINS_FILTERS_MANAGEDSAVE \
+ (VIR_CONNECT_LIST_DOMAINS_MANAGEDSAVE | \
+ VIR_CONNECT_LIST_DOMAINS_NO_MANAGEDSAVE)
+
+# define VIR_CONNECT_LIST_DOMAINS_FILTERS_AUTOSTART \
+ (VIR_CONNECT_LIST_DOMAINS_AUTOSTART | \
+ VIR_CONNECT_LIST_DOMAINS_NO_AUTOSTART)
+
+# define VIR_CONNECT_LIST_DOMAINS_FILTERS_SNAPSHOT \
+ (VIR_CONNECT_LIST_DOMAINS_HAS_SNAPSHOT | \
+ VIR_CONNECT_LIST_DOMAINS_NO_SNAPSHOT)
+
+# define VIR_CONNECT_LIST_DOMAINS_FILTERS_ALL \
+ (VIR_CONNECT_LIST_DOMAINS_FILTERS_ACTIVE | \
+ VIR_CONNECT_LIST_DOMAINS_FILTERS_PERSISTENT | \
+ VIR_CONNECT_LIST_DOMAINS_FILTERS_STATE | \
+ VIR_CONNECT_LIST_DOMAINS_FILTERS_MANAGEDSAVE | \
+ VIR_CONNECT_LIST_DOMAINS_FILTERS_AUTOSTART | \
+ VIR_CONNECT_LIST_DOMAINS_FILTERS_SNAPSHOT)
+
+int virDomainObjListCollect(virDomainObjListPtr doms,
+ virConnectPtr conn,
+ virDomainObjPtr **vms,
+ size_t *nvms,
+ virDomainObjListACLFilter filter,
+ unsigned int flags);
+int virDomainObjListExport(virDomainObjListPtr doms,
+ virConnectPtr conn,
+ virDomainPtr **domains,
+ virDomainObjListACLFilter filter,
+ unsigned int flags);
+int virDomainObjListConvert(virDomainObjListPtr domlist,
+ virConnectPtr conn,
+ virDomainPtr *doms,
+ size_t ndoms,
+ virDomainObjPtr **vms,
+ size_t *nvms,
+ virDomainObjListACLFilter filter,
+ unsigned int flags,
+ bool skip_missing);
+
+#endif /* __VIRDOMAINOBJLIST_H__ */
diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index c304ff3..3105563 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -24,7 +24,7 @@
#include <config.h>
#include "internal.h"
-#include "domain_conf.h"
+#include "virdomainobjlist.h"
#include "snapshot_conf.h"
#include "virauth.h"
#include "viralloc.h"
diff --git a/src/hyperv/hyperv_driver.c b/src/hyperv/hyperv_driver.c
index b539541..e3bd49f 100644
--- a/src/hyperv/hyperv_driver.c
+++ b/src/hyperv/hyperv_driver.c
@@ -24,7 +24,7 @@
#include "internal.h"
#include "datatypes.h"
-#include "domain_conf.h"
+#include "virdomainobjlist.h"
#include "virauth.h"
#include "viralloc.h"
#include "virlog.h"
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index eb7ec76..7f85721 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -391,22 +391,6 @@ virDomainObjGetMetadata;
virDomainObjGetOneDef;
virDomainObjGetPersistentDef;
virDomainObjGetState;
-virDomainObjListAdd;
-virDomainObjListCollect;
-virDomainObjListConvert;
-virDomainObjListExport;
-virDomainObjListFindByID;
-virDomainObjListFindByName;
-virDomainObjListFindByUUID;
-virDomainObjListFindByUUIDRef;
-virDomainObjListForEach;
-virDomainObjListGetActiveIDs;
-virDomainObjListGetInactiveNames;
-virDomainObjListLoadAllConfigs;
-virDomainObjListNew;
-virDomainObjListNumOfDomains;
-virDomainObjListRemove;
-virDomainObjListRemoveLocked;
virDomainObjNew;
virDomainObjParseNode;
virDomainObjSetDefTransient;
@@ -876,6 +860,25 @@ virChrdevFree;
virChrdevOpen;
+# conf/virdomainobjlist.h
+virDomainObjListAdd;
+virDomainObjListCollect;
+virDomainObjListConvert;
+virDomainObjListExport;
+virDomainObjListFindByID;
+virDomainObjListFindByName;
+virDomainObjListFindByUUID;
+virDomainObjListFindByUUIDRef;
+virDomainObjListForEach;
+virDomainObjListGetActiveIDs;
+virDomainObjListGetInactiveNames;
+virDomainObjListLoadAllConfigs;
+virDomainObjListNew;
+virDomainObjListNumOfDomains;
+virDomainObjListRemove;
+virDomainObjListRemoveLocked;
+
+
# cpu/cpu.h
cpuBaseline;
cpuBaselineXML;
diff --git a/src/libxl/libxl_conf.h b/src/libxl/libxl_conf.h
index 9c29b1e..7c68b2b 100644
--- a/src/libxl/libxl_conf.h
+++ b/src/libxl/libxl_conf.h
@@ -30,7 +30,7 @@
# include "internal.h"
# include "libvirt_internal.h"
-# include "domain_conf.h"
+# include "virdomainobjlist.h"
# include "domain_event.h"
# include "capabilities.h"
# include "configmake.h"
diff --git a/src/openvz/openvz_conf.h b/src/openvz/openvz_conf.h
index a5c5806..fc36740 100644
--- a/src/openvz/openvz_conf.h
+++ b/src/openvz/openvz_conf.h
@@ -30,7 +30,7 @@
# define OPENVZ_CONF_H
# include "internal.h"
-# include "domain_conf.h"
+# include "virdomainobjlist.h"
# include "virthread.h"
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index d38006f..ac3ff5b 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -60,6 +60,7 @@
#include "cpu/cpu.h"
#include "virauth.h"
#include "viratomic.h"
+#include "virdomainobjlist.h"
#define VIR_FROM_THIS VIR_FROM_TEST
diff --git a/src/uml/uml_conf.h b/src/uml/uml_conf.h
index 05e19ff..9a45d10 100644
--- a/src/uml/uml_conf.h
+++ b/src/uml/uml_conf.h
@@ -28,7 +28,7 @@
# include "libvirt_internal.h"
# include "capabilities.h"
# include "network_conf.h"
-# include "domain_conf.h"
+# include "virdomainobjlist.h"
# include "domain_event.h"
# include "virerror.h"
# include "virthread.h"
diff --git a/src/util/virclosecallbacks.h b/src/util/virclosecallbacks.h
index e6b8a9e..4df0a00 100644
--- a/src/util/virclosecallbacks.h
+++ b/src/util/virclosecallbacks.h
@@ -25,7 +25,7 @@
#ifndef __VIR_CLOSE_CALLBACKS__
# define __VIR_CLOSE_CALLBACKS__
-# include "domain_conf.h"
+# include "virdomainobjlist.h"
typedef struct _virCloseCallbacks virCloseCallbacks;
typedef virCloseCallbacks *virCloseCallbacksPtr;
diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c
index 91a61f8..7383f41 100644
--- a/src/vbox/vbox_common.c
+++ b/src/vbox/vbox_common.c
@@ -25,7 +25,7 @@
#include "internal.h"
#include "datatypes.h"
-#include "domain_conf.h"
+#include "virdomainobjlist.h"
#include "domain_event.h"
#include "virlog.h"
#include "viralloc.h"
diff --git a/src/vmware/vmware_conf.h b/src/vmware/vmware_conf.h
index 1f3c41a..b3f8cdf 100644
--- a/src/vmware/vmware_conf.h
+++ b/src/vmware/vmware_conf.h
@@ -26,7 +26,7 @@
# define NOGUI "nogui"
# include "internal.h"
-# include "domain_conf.h"
+# include "virdomainobjlist.h"
# include "virthread.h"
# define VIR_FROM_THIS VIR_FROM_VMWARE
diff --git a/src/vz/vz_utils.h b/src/vz/vz_utils.h
index db09647..d35616a 100644
--- a/src/vz/vz_utils.h
+++ b/src/vz/vz_utils.h
@@ -26,7 +26,7 @@
# include <Parallels.h>
# include "driver.h"
-# include "conf/domain_conf.h"
+# include "conf/virdomainobjlist.h"
# include "conf/storage_conf.h"
# include "conf/domain_event.h"
# include "conf/network_conf.h"
diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c
index 1d4dc25..86092e5 100644
--- a/tools/virsh-domain-monitor.c
+++ b/tools/virsh-domain-monitor.c
@@ -32,7 +32,7 @@
#include <libxml/xmlsave.h>
#include "internal.h"
-#include "conf/domain_conf.h"
+#include "conf/virdomainobjlist.h"
#include "intprops.h"
#include "viralloc.h"
#include "virmacaddr.h"
--
2.4.5
2
1
[libvirt] [PATCH v7] autocreate tap device for VIR_DOMAIN_NET_TYPE_ETHERNET
by Vasiliy Tolstov 29 Jul '15
by Vasiliy Tolstov 29 Jul '15
29 Jul '15
If a user specify ehernet device create it via libvirt and run
script if it provided. After this commit user does not need to
run external script to create tap device or add root to qemu
process.
Signed-off-by: Vasiliy Tolstov <v.tolstov(a)selfip.ru>
---
src/qemu/qemu_command.c | 143 +++++++++++++++++++++++++++++++-----------------
src/qemu/qemu_hotplug.c | 13 ++---
src/qemu/qemu_process.c | 6 ++
3 files changed, 102 insertions(+), 60 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 3886b4f..c4d1fde 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -332,10 +332,39 @@ static int qemuCreateInBridgePortWithHelper(virQEMUDriverConfigPtr cfg,
return *tapfd < 0 ? -1 : 0;
}
+/**
+ * qemuExecuteEthernetScript:
+ * @ifname: the interface name
+ * @script: the script name
+ *
+ * This function executes script for new tap device created by libvirt.
+ * Returns 0 in case of success or -1 on failure
+ */
+static int
+qemuExecuteEthernetScript(const char *ifname, const char *script)
+{
+ virCommandPtr cmd;
+ int ret;
+
+ cmd = virCommandNew(script);
+ virCommandAddArgFormat(cmd, "%s", ifname);
+ virCommandClearCaps(cmd);
+#ifdef CAP_NET_ADMIN
+ virCommandAllowCap(cmd, CAP_NET_ADMIN);
+#endif
+ virCommandAddEnvPassCommon(cmd);
+
+ ret = virCommandRun(cmd, NULL);
+
+ virCommandFree(cmd);
+ return ret;
+}
+
/* qemuNetworkIfaceConnect - *only* called if actualType is
- * VIR_DOMAIN_NET_TYPE_NETWORK or VIR_DOMAIN_NET_TYPE_BRIDGE (i.e. if
- * the connection is made with a tap device connecting to a bridge
- * device)
+ * VIR_DOMAIN_NET_TYPE_NETWORK, VIR_DOMAIN_NET_TYPE_BRIDGE
+ * VIR_DOMAIN_NET_TYPE_ETHERNET (i.e. if the connection is
+ * made with a tap device connecting to a bridge device or
+ * use plain tap device)
*/
int
qemuNetworkIfaceConnect(virDomainDefPtr def,
@@ -351,6 +380,7 @@ qemuNetworkIfaceConnect(virDomainDefPtr def,
bool template_ifname = false;
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
const char *tunpath = "/dev/net/tun";
+ virMacAddr tapmac;
if (net->backend.tap) {
tunpath = net->backend.tap;
@@ -361,11 +391,6 @@ qemuNetworkIfaceConnect(virDomainDefPtr def,
}
}
- if (!(brname = virDomainNetGetActualBridgeName(net))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Missing bridge name"));
- goto cleanup;
- }
-
if (!net->ifname ||
STRPREFIX(net->ifname, VIR_NET_GENERATED_PREFIX) ||
strchr(net->ifname, '%')) {
@@ -381,40 +406,66 @@ qemuNetworkIfaceConnect(virDomainDefPtr def,
tap_create_flags |= VIR_NETDEV_TAP_CREATE_VNET_HDR;
}
- if (cfg->privileged) {
- if (virNetDevTapCreateInBridgePort(brname, &net->ifname, &net->mac,
- def->uuid, tunpath, tapfd, *tapfdSize,
- virDomainNetGetActualVirtPortProfile(net),
- virDomainNetGetActualVlan(net),
- tap_create_flags) < 0) {
+ if (virDomainNetGetActualType(net) == VIR_DOMAIN_NET_TYPE_ETHERNET) {
+ if (virNetDevTapCreate(&net->ifname, tunpath, tapfd, *tapfdSize,
+ tap_create_flags) < 0) {
virDomainAuditNetDevice(def, net, tunpath, false);
goto cleanup;
}
- if (virDomainNetGetActualBridgeMACTableManager(net)
- == VIR_NETWORK_BRIDGE_MAC_TABLE_MANAGER_LIBVIRT) {
- /* libvirt is managing the FDB of the bridge this device
- * is attaching to, so we need to turn off learning and
- * unicast_flood on the device to prevent the kernel from
- * adding any FDB entries for it. We will add add an fdb
- * entry ourselves (during qemuInterfaceStartDevices(),
- * using the MAC address from the interface config.
- */
- if (virNetDevBridgePortSetLearning(brname, net->ifname, false) < 0)
- goto cleanup;
- if (virNetDevBridgePortSetUnicastFlood(brname, net->ifname, false) < 0)
+ virMacAddrSet(&tapmac, &net->mac);
+ tapmac.addr[0] = 0xFE;
+
+ if (virNetDevSetMAC(net->ifname, &tapmac) < 0)
+ goto cleanup;
+
+ if (virNetDevSetOnline(net->ifname, true) < 0)
+ goto cleanup;
+
+ if (net->script) {
+ if (qemuExecuteEthernetScript(net->ifname, net->script) < 0)
goto cleanup;
}
} else {
- if (qemuCreateInBridgePortWithHelper(cfg, brname,
- &net->ifname,
- tapfd, tap_create_flags) < 0) {
- virDomainAuditNetDevice(def, net, tunpath, false);
+ if (!(brname = virDomainNetGetActualBridgeName(net))) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Missing bridge name"));
goto cleanup;
}
- /* qemuCreateInBridgePortWithHelper can only create a single FD */
- if (*tapfdSize > 1) {
- VIR_WARN("Ignoring multiqueue network request");
- *tapfdSize = 1;
+
+ if (cfg->privileged) {
+ if (virNetDevTapCreateInBridgePort(brname, &net->ifname, &net->mac,
+ def->uuid, tunpath, tapfd, *tapfdSize,
+ virDomainNetGetActualVirtPortProfile(net),
+ virDomainNetGetActualVlan(net),
+ tap_create_flags) < 0) {
+ virDomainAuditNetDevice(def, net, tunpath, false);
+ goto cleanup;
+ }
+ if (virDomainNetGetActualBridgeMACTableManager(net)
+ == VIR_NETWORK_BRIDGE_MAC_TABLE_MANAGER_LIBVIRT) {
+ /* libvirt is managing the FDB of the bridge this device
+ * is attaching to, so we need to turn off learning and
+ * unicast_flood on the device to prevent the kernel from
+ * adding any FDB entries for it. We will add add an fdb
+ * entry ourselves (during qemuInterfaceStartDevices(),
+ * using the MAC address from the interface config.
+ */
+ if (virNetDevBridgePortSetLearning(brname, net->ifname, false) < 0)
+ goto cleanup;
+ if (virNetDevBridgePortSetUnicastFlood(brname, net->ifname, false) < 0)
+ goto cleanup;
+ }
+ } else {
+ if (qemuCreateInBridgePortWithHelper(cfg, brname,
+ &net->ifname,
+ tapfd, tap_create_flags) < 0) {
+ virDomainAuditNetDevice(def, net, tunpath, false);
+ goto cleanup;
+ }
+ /* qemuCreateInBridgePortWithHelper can only create a single FD */
+ if (*tapfdSize > 1) {
+ VIR_WARN("Ignoring multiqueue network request");
+ *tapfdSize = 1;
+ }
}
}
@@ -5221,6 +5272,7 @@ qemuBuildHostNetStr(virDomainNetDefPtr net,
case VIR_DOMAIN_NET_TYPE_BRIDGE:
case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_DIRECT:
+ case VIR_DOMAIN_NET_TYPE_ETHERNET:
virBufferAsprintf(&buf, "tap%c", type_sep);
/* for one tapfd 'fd=' shall be used,
* for more than one 'fds=' is the right choice */
@@ -5238,20 +5290,6 @@ qemuBuildHostNetStr(virDomainNetDefPtr net,
is_tap = true;
break;
- case VIR_DOMAIN_NET_TYPE_ETHERNET:
- virBufferAddLit(&buf, "tap");
- if (net->ifname) {
- virBufferAsprintf(&buf, "%cifname=%s", type_sep, net->ifname);
- type_sep = ',';
- }
- if (net->script) {
- virBufferAsprintf(&buf, "%cscript=%s", type_sep,
- net->script);
- type_sep = ',';
- }
- is_tap = true;
- break;
-
case VIR_DOMAIN_NET_TYPE_CLIENT:
virBufferAsprintf(&buf, "socket%cconnect=%s:%d",
type_sep,
@@ -8226,7 +8264,8 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
/* Currently nothing besides TAP devices supports multiqueue. */
if (net->driver.virtio.queues > 0 &&
!(actualType == VIR_DOMAIN_NET_TYPE_NETWORK ||
- actualType == VIR_DOMAIN_NET_TYPE_BRIDGE)) {
+ actualType == VIR_DOMAIN_NET_TYPE_BRIDGE ||
+ actualType == VIR_DOMAIN_NET_TYPE_ETHERNET)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Multiqueue network is not supported for: %s"),
virDomainNetTypeToString(actualType));
@@ -8235,7 +8274,8 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
if (net->backend.tap &&
!(actualType == VIR_DOMAIN_NET_TYPE_NETWORK ||
- actualType == VIR_DOMAIN_NET_TYPE_BRIDGE)) {
+ actualType == VIR_DOMAIN_NET_TYPE_BRIDGE ||
+ actualType == VIR_DOMAIN_NET_TYPE_ETHERNET)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Custom tap device path is not supported for: %s"),
virDomainNetTypeToString(actualType));
@@ -8245,7 +8285,8 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
cfg = virQEMUDriverGetConfig(driver);
if (actualType == VIR_DOMAIN_NET_TYPE_NETWORK ||
- actualType == VIR_DOMAIN_NET_TYPE_BRIDGE) {
+ actualType == VIR_DOMAIN_NET_TYPE_BRIDGE ||
+ actualType == VIR_DOMAIN_NET_TYPE_ETHERNET) {
tapfdSize = net->driver.virtio.queues;
if (!tapfdSize)
tapfdSize = 1;
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index cc86a3b..21ea3fd 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -908,7 +908,8 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
/* Currently nothing besides TAP devices supports multiqueue. */
if (net->driver.virtio.queues > 0 &&
!(actualType == VIR_DOMAIN_NET_TYPE_NETWORK ||
- actualType == VIR_DOMAIN_NET_TYPE_BRIDGE)) {
+ actualType == VIR_DOMAIN_NET_TYPE_BRIDGE ||
+ actualType == VIR_DOMAIN_NET_TYPE_ETHERNET)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Multiqueue network is not supported for: %s"),
virDomainNetTypeToString(actualType));
@@ -916,7 +917,8 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
}
if (actualType == VIR_DOMAIN_NET_TYPE_BRIDGE ||
- actualType == VIR_DOMAIN_NET_TYPE_NETWORK) {
+ actualType == VIR_DOMAIN_NET_TYPE_NETWORK ||
+ actualType == VIR_DOMAIN_NET_TYPE_ETHERNET) {
tapfdSize = vhostfdSize = net->driver.virtio.queues;
if (!tapfdSize)
tapfdSize = vhostfdSize = 1;
@@ -947,13 +949,6 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
iface_connected = true;
if (qemuOpenVhostNet(vm->def, net, priv->qemuCaps, vhostfd, &vhostfdSize) < 0)
goto cleanup;
- } else if (actualType == VIR_DOMAIN_NET_TYPE_ETHERNET) {
- vhostfdSize = 1;
- if (VIR_ALLOC(vhostfd) < 0)
- goto cleanup;
- *vhostfd = -1;
- if (qemuOpenVhostNet(vm->def, net, priv->qemuCaps, vhostfd, &vhostfdSize) < 0)
- goto cleanup;
}
/* Set device online immediately */
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 64ee049..d866e44 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -5205,6 +5205,12 @@ void qemuProcessStop(virQEMUDriverPtr driver,
cfg->stateDir));
VIR_FREE(net->ifname);
break;
+ case VIR_DOMAIN_NET_TYPE_ETHERNET:
+ if (net->ifname) {
+ ignore_value(virNetDevTapDelete(net->ifname, net->backend.tap));
+ VIR_FREE(net->ifname);
+ }
+ break;
case VIR_DOMAIN_NET_TYPE_BRIDGE:
case VIR_DOMAIN_NET_TYPE_NETWORK:
#ifdef VIR_NETDEV_TAP_REQUIRE_MANUAL_CLEANUP
--
2.3.3
2
3
[libvirt] [libvirt-test-API][PATCH 0/2] Add a new case for storagePoolLookupByVolume API
by jiahu 28 Jul '15
by jiahu 28 Jul '15
28 Jul '15
This API will be tested in dir/logicl/netfs pool type.
jiahu (2):
Add pool_lookup_by_volume.py to conf
Add new case to test storagePoolLookupByVolume
cases/storage_dir.conf | 6 +++++
cases/storage_logical.conf | 6 +++++
cases/storage_netfs.conf | 6 +++++
repos/storage/pool_lookup_by_volume.py | 46 ++++++++++++++++++++++++++++++++++
4 files changed, 64 insertions(+)
create mode 100644 repos/storage/pool_lookup_by_volume.py
--
1.8.1.4
2
3
Dear All,
I continue my work on the tunnelled selective block disks migration and the
next step is to implement Tunnelled NBD block disk migration.
As far as I see libvirt uses the following algorithm for tunnelling the
QEMU migration stream that is unidirectional:
1. The qemuMigrationStartTunnel (src/qemu/qemu_migration.c) starts a thread
that reads the data from the local QEMU pipe and writes it to the virStream
using virStreamSend.
2. The stream used by virStreamSend is embedded in the remote protocol
messaging by the remoteDomainMigratePrepareTunnel3{,Params}
(src/remote/remote_driver.c).
3. Remote links the daemonStream with the virFDStream connected to the
write end of a pipe linked with the QEMU.
4. Overall stream path is then: QEMU -(pipe)> virStreamSend -> (message
passing to the remote) -> TCP -> (message received by deamon/*.c code) ->
virStreamSend -> virFDStreamWrite -(pipe)> QEMU.
Given that I wonder what should be the changes required to implement a
bidirectional QEMU tunnelled connection for the NBD device disk migration.
The way I see implementation details at the moment:
0. The `virStream` and corresponding `daemon/*.c` must be modified in a way
that multiple streams can be multiplexed through the only one remote
connection.
1. `Pipe`s used to interconnect to the QEMU on the both sides are obviously
to be replaced by the UNIX sockets since the pipes cannot support
bidirectional output due to the design. This is to be made *one for each*
block device, requiring the above change.
2. The `qemuMigrationIOFunc` must be rewritten in such a way it polls for
both read and write on the UNIX sockets *and* VM migration pipe and
tunnells these to the appropriate `virStream`.
3. The receiving code must be modified in such a way to tunnel each of the
opened UNIX socket to the according virFDStream.
Of the mentioned above the most intriguing for me is the zero-th item which
will require some changes to the binary remote messaging protocol.
Is my vision on the problem is correct? Are there any other difficulties
I'm going to face but not aware of due to the lack of the familiarity with
the code?
Pavel
2
3
[libvirt] [PATCH] docs: set more permissive patterns for paths in rng schemas
by Dmitry Guryanov 27 Jul '15
by Dmitry Guryanov 27 Jul '15
27 Jul '15
There is no obvious reason to limit paths, used in
libvirt to a subset of what is allowed in linux. So
let's allow any symbols in paths.
---
docs/schemas/basictypes.rng | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/schemas/basictypes.rng b/docs/schemas/basictypes.rng
index a83063a..12cab6a 100644
--- a/docs/schemas/basictypes.rng
+++ b/docs/schemas/basictypes.rng
@@ -230,25 +230,25 @@
<define name="filePath">
<data type="string">
- <param name="pattern">[a-zA-Z0-9_\.\+\-\\&"'<>/%]+</param>
+ <param name="pattern">.+</param>
</data>
</define>
<define name="dirPath">
<data type="string">
- <param name="pattern">[a-zA-Z0-9_\.\+\-\\&"'<>/%]+</param>
+ <param name="pattern">.+</param>
</data>
</define>
<define name="absFilePath">
<data type="string">
- <param name="pattern">/[a-zA-Z0-9_\.\+\-\\&"'<>/%,:]+</param>
+ <param name="pattern">/.+</param>
</data>
</define>
<define name="absDirPath">
<data type="string">
- <param name="pattern">/[a-zA-Z0-9_\.\+\-\\&"'<>/%]*</param>
+ <param name="pattern">/.*</param>
</data>
</define>
--
2.4.3
2
1
[libvirt] PING: [PATCH v5 0/4] qemu: Allow PCI virtio on ARM "virt" machine
by Pavel Fedin 27 Jul '15
by Pavel Fedin 27 Jul '15
27 Jul '15
PING
Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia
> -----Original Message-----
> From: libvir-list-bounces(a)redhat.com [mailto:libvir-list-bounces@redhat.com] On Behalf Of Pavel
Fedin
> Sent: Friday, July 17, 2015 2:28 PM
> To: libvir-list(a)redhat.com
> Cc: Peter Krempa
> Subject: [libvirt] [PATCH v5 0/4] qemu: Allow PCI virtio on ARM "virt" machine
>
> Virt machine in qemu since v2.3.0 has PCI generic host controller, and
> can use PCI devices. This provides performance improvement as well as
> vhost-net with irqfd support for virtio-net. However libvirt currently
> does not allow ARM virt machine to have PCI devices. This patchset adds
> the necessary support.
>
> Changes since v4:
> - Rebased onto current master
> - Added possibility to plug virtio-net-pci adapter directly into PCIe bus.
> This is necessary for irqfds to work in qemu.
> Changes since v3:
> - Capability is based not on qemu version but on support of "gpex-pcihost"
> device by qemu
> - Added a workaround, allowing to pass "make check". The problem is that
> test suite does not build capabilities cache. Unfortunately this means
> that correct unit-test for the new functionality currently cannot be
> written. Test suite framework needs to be improved.
> Changes since v2:
> Complete rework, use different approach
> - Correctly model PCI Express bus on the machine. It is now possible to
> explicitly specify <address-type='pci'> with attributes. This allows to
> attach not only virtio, but any other PCI device to the model.
> - Default is not changed and still mmio, for backwards compatibility with
> existing installations. PCI bus has to be explicitly specified.
> - Check for the capability in correct place, in v2 it actually did not
> work
> Changes since v1:
> - Added capability based on qemu version number
> - Recognize also "virt-" prefix
>
> Pavel Fedin (4):
> qemu: Introduce QEMU_CAPS_OBJECT_GPEX
> Add PCI-Express root to ARM virt machine
> Build correct command line for PCI NICs on ARM
> Allow to plug virtio-net-pci into PCIe slot
>
> src/qemu/qemu_capabilities.c | 10 ++++++++++
> src/qemu/qemu_capabilities.h | 1 +
> src/qemu/qemu_command.c | 11 ++++++++++-
> src/qemu/qemu_domain.c | 17 +++++++++++++----
> 4 files changed, 34 insertions(+), 5 deletions(-)
>
> --
> 1.9.5.msysgit.0
>
> --
> libvir-list mailing list
> libvir-list(a)redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
1
0
The long name was causing make dist to fail, at least on certain
operating systems.
---
.../cpu/cpu99 => linux-nonpresent/cpu/cpu0}/online | 0
.../cpu/cpu98 => linux-nonpresent/cpu/cpu1}/online | 0
.../cpu/cpu97 => linux-nonpresent/cpu/cpu10}/online | 0
.../cpu/cpu96 => linux-nonpresent/cpu/cpu100}/online | 0
.../cpu/cpu95 => linux-nonpresent/cpu/cpu101}/online | 0
.../cpu/cpu94 => linux-nonpresent/cpu/cpu102}/online | 0
.../cpu/cpu93 => linux-nonpresent/cpu/cpu103}/online | 0
.../cpu/cpu72 => linux-nonpresent/cpu/cpu104}/online | 0
.../cpu/cpu104/topology/core_id | 0
.../cpu/cpu112 => linux-nonpresent/cpu/cpu104}/topology/core_siblings | 0
.../cpu112 => linux-nonpresent/cpu/cpu104}/topology/core_siblings_list | 0
.../cpu112 => linux-nonpresent/cpu/cpu104}/topology/physical_package_id | 0
.../cpu/cpu104/topology/thread_siblings | 0
.../cpu/cpu104/topology/thread_siblings_list | 0
.../cpu/cpu92 => linux-nonpresent/cpu/cpu105}/online | 0
.../cpu/cpu91 => linux-nonpresent/cpu/cpu106}/online | 0
.../cpu/cpu90 => linux-nonpresent/cpu/cpu107}/online | 0
.../cpu/cpu9 => linux-nonpresent/cpu/cpu108}/online | 0
.../cpu/cpu89 => linux-nonpresent/cpu/cpu109}/online | 0
.../cpu/cpu88 => linux-nonpresent/cpu/cpu11}/online | 0
.../cpu/cpu87 => linux-nonpresent/cpu/cpu110}/online | 0
.../cpu/cpu86 => linux-nonpresent/cpu/cpu111}/online | 0
.../cpu/cpu48 => linux-nonpresent/cpu/cpu112}/online | 0
.../cpu/cpu112/topology/core_id | 0
.../cpu/cpu104 => linux-nonpresent/cpu/cpu112}/topology/core_siblings | 0
.../cpu104 => linux-nonpresent/cpu/cpu112}/topology/core_siblings_list | 0
.../cpu104 => linux-nonpresent/cpu/cpu112}/topology/physical_package_id | 0
.../cpu/cpu112/topology/thread_siblings | 0
.../cpu/cpu112/topology/thread_siblings_list | 0
.../cpu/cpu85 => linux-nonpresent/cpu/cpu113}/online | 0
.../cpu/cpu84 => linux-nonpresent/cpu/cpu114}/online | 0
.../cpu/cpu83 => linux-nonpresent/cpu/cpu115}/online | 0
.../cpu/cpu82 => linux-nonpresent/cpu/cpu116}/online | 0
.../cpu/cpu81 => linux-nonpresent/cpu/cpu117}/online | 0
.../cpu/cpu80 => linux-nonpresent/cpu/cpu118}/online | 0
.../cpu/cpu8 => linux-nonpresent/cpu/cpu119}/online | 0
.../cpu/cpu79 => linux-nonpresent/cpu/cpu12}/online | 0
.../cpu/cpu40 => linux-nonpresent/cpu/cpu120}/online | 0
.../cpu/cpu120/topology/core_id | 0
.../cpu/cpu136 => linux-nonpresent/cpu/cpu120}/topology/core_siblings | 0
.../cpu136 => linux-nonpresent/cpu/cpu120}/topology/core_siblings_list | 0
.../cpu136 => linux-nonpresent/cpu/cpu120}/topology/physical_package_id | 0
.../cpu/cpu120/topology/thread_siblings | 0
.../cpu/cpu120/topology/thread_siblings_list | 0
.../cpu/cpu78 => linux-nonpresent/cpu/cpu121}/online | 0
.../cpu/cpu77 => linux-nonpresent/cpu/cpu122}/online | 0
.../cpu/cpu76 => linux-nonpresent/cpu/cpu123}/online | 0
.../cpu/cpu75 => linux-nonpresent/cpu/cpu124}/online | 0
.../cpu/cpu74 => linux-nonpresent/cpu/cpu125}/online | 0
.../cpu/cpu73 => linux-nonpresent/cpu/cpu126}/online | 0
.../cpu/cpu71 => linux-nonpresent/cpu/cpu127}/online | 0
.../cpu/cpu24 => linux-nonpresent/cpu/cpu128}/online | 0
.../cpu/cpu128/topology/core_id | 0
.../cpu/cpu128/topology/core_siblings | 0
.../cpu/cpu128/topology/core_siblings_list | 0
.../cpu/cpu128/topology/physical_package_id | 0
.../cpu/cpu128/topology/thread_siblings | 0
.../cpu/cpu128/topology/thread_siblings_list | 0
.../cpu/cpu70 => linux-nonpresent/cpu/cpu129}/online | 0
.../cpu/cpu7 => linux-nonpresent/cpu/cpu13}/online | 0
.../cpu/cpu69 => linux-nonpresent/cpu/cpu130}/online | 0
.../cpu/cpu68 => linux-nonpresent/cpu/cpu131}/online | 0
.../cpu/cpu67 => linux-nonpresent/cpu/cpu132}/online | 0
.../cpu/cpu66 => linux-nonpresent/cpu/cpu133}/online | 0
.../cpu/cpu65 => linux-nonpresent/cpu/cpu134}/online | 0
.../cpu/cpu64 => linux-nonpresent/cpu/cpu135}/online | 0
.../cpu/cpu16 => linux-nonpresent/cpu/cpu136}/online | 0
.../cpu/cpu136/topology/core_id | 0
.../cpu/cpu120 => linux-nonpresent/cpu/cpu136}/topology/core_siblings | 0
.../cpu120 => linux-nonpresent/cpu/cpu136}/topology/core_siblings_list | 0
.../cpu120 => linux-nonpresent/cpu/cpu136}/topology/physical_package_id | 0
.../cpu/cpu136/topology/thread_siblings | 0
.../cpu/cpu136/topology/thread_siblings_list | 0
.../cpu/cpu63 => linux-nonpresent/cpu/cpu137}/online | 0
.../cpu/cpu62 => linux-nonpresent/cpu/cpu138}/online | 0
.../cpu/cpu61 => linux-nonpresent/cpu/cpu139}/online | 0
.../cpu/cpu60 => linux-nonpresent/cpu/cpu14}/online | 0
.../cpu/cpu6 => linux-nonpresent/cpu/cpu140}/online | 0
.../cpu/cpu59 => linux-nonpresent/cpu/cpu141}/online | 0
.../cpu/cpu58 => linux-nonpresent/cpu/cpu142}/online | 0
.../cpu/cpu57 => linux-nonpresent/cpu/cpu143}/online | 0
.../cpu/cpu56 => linux-nonpresent/cpu/cpu144}/online | 0
.../cpu/cpu55 => linux-nonpresent/cpu/cpu145}/online | 0
.../cpu/cpu54 => linux-nonpresent/cpu/cpu146}/online | 0
.../cpu/cpu53 => linux-nonpresent/cpu/cpu147}/online | 0
.../cpu/cpu52 => linux-nonpresent/cpu/cpu148}/online | 0
.../cpu/cpu51 => linux-nonpresent/cpu/cpu149}/online | 0
.../cpu/cpu50 => linux-nonpresent/cpu/cpu15}/online | 0
.../cpu/cpu5 => linux-nonpresent/cpu/cpu150}/online | 0
.../cpu/cpu49 => linux-nonpresent/cpu/cpu151}/online | 0
.../cpu/cpu47 => linux-nonpresent/cpu/cpu152}/online | 0
.../cpu/cpu46 => linux-nonpresent/cpu/cpu153}/online | 0
.../cpu/cpu45 => linux-nonpresent/cpu/cpu154}/online | 0
.../cpu/cpu44 => linux-nonpresent/cpu/cpu155}/online | 0
.../cpu/cpu43 => linux-nonpresent/cpu/cpu156}/online | 0
.../cpu/cpu42 => linux-nonpresent/cpu/cpu157}/online | 0
.../cpu/cpu41 => linux-nonpresent/cpu/cpu158}/online | 0
.../cpu/cpu4 => linux-nonpresent/cpu/cpu159}/online | 0
.../cpu/cpu136 => linux-nonpresent/cpu/cpu16}/online | 0
.../cpu/cpu16/topology/core_id | 0
.../cpu/cpu24 => linux-nonpresent/cpu/cpu16}/topology/core_siblings | 0
.../cpu24 => linux-nonpresent/cpu/cpu16}/topology/core_siblings_list | 0
.../cpu24 => linux-nonpresent/cpu/cpu16}/topology/physical_package_id | 0
.../cpu/cpu16/topology/thread_siblings | 0
.../cpu/cpu16/topology/thread_siblings_list | 0
.../cpu/cpu39 => linux-nonpresent/cpu/cpu17}/online | 0
.../cpu/cpu38 => linux-nonpresent/cpu/cpu18}/online | 0
.../cpu/cpu37 => linux-nonpresent/cpu/cpu19}/online | 0
.../cpu/cpu36 => linux-nonpresent/cpu/cpu2}/online | 0
.../cpu/cpu35 => linux-nonpresent/cpu/cpu20}/online | 0
.../cpu/cpu34 => linux-nonpresent/cpu/cpu21}/online | 0
.../cpu/cpu33 => linux-nonpresent/cpu/cpu22}/online | 0
.../cpu/cpu32 => linux-nonpresent/cpu/cpu23}/online | 0
.../cpu/cpu128 => linux-nonpresent/cpu/cpu24}/online | 0
.../cpu/cpu24/topology/core_id | 0
.../cpu/cpu16 => linux-nonpresent/cpu/cpu24}/topology/core_siblings | 0
.../cpu16 => linux-nonpresent/cpu/cpu24}/topology/core_siblings_list | 0
.../cpu16 => linux-nonpresent/cpu/cpu24}/topology/physical_package_id | 0
.../cpu/cpu24/topology/thread_siblings | 0
.../cpu/cpu24/topology/thread_siblings_list | 0
.../cpu/cpu31 => linux-nonpresent/cpu/cpu25}/online | 0
.../cpu/cpu30 => linux-nonpresent/cpu/cpu26}/online | 0
.../cpu/cpu3 => linux-nonpresent/cpu/cpu27}/online | 0
.../cpu/cpu29 => linux-nonpresent/cpu/cpu28}/online | 0
.../cpu/cpu28 => linux-nonpresent/cpu/cpu29}/online | 0
.../cpu/cpu27 => linux-nonpresent/cpu/cpu3}/online | 0
.../cpu/cpu26 => linux-nonpresent/cpu/cpu30}/online | 0
.../cpu/cpu25 => linux-nonpresent/cpu/cpu31}/online | 0
.../cpu/cpu23 => linux-nonpresent/cpu/cpu32}/online | 0
.../cpu/cpu22 => linux-nonpresent/cpu/cpu33}/online | 0
.../cpu/cpu21 => linux-nonpresent/cpu/cpu34}/online | 0
.../cpu/cpu20 => linux-nonpresent/cpu/cpu35}/online | 0
.../cpu/cpu2 => linux-nonpresent/cpu/cpu36}/online | 0
.../cpu/cpu19 => linux-nonpresent/cpu/cpu37}/online | 0
.../cpu/cpu18 => linux-nonpresent/cpu/cpu38}/online | 0
.../cpu/cpu17 => linux-nonpresent/cpu/cpu39}/online | 0
.../cpu/cpu159 => linux-nonpresent/cpu/cpu4}/online | 0
.../cpu/cpu120 => linux-nonpresent/cpu/cpu40}/online | 0
.../cpu/cpu40/topology/core_id | 0
.../cpu/cpu72 => linux-nonpresent/cpu/cpu40}/topology/core_siblings | 0
.../cpu72 => linux-nonpresent/cpu/cpu40}/topology/core_siblings_list | 0
.../cpu72 => linux-nonpresent/cpu/cpu40}/topology/physical_package_id | 0
.../cpu/cpu40/topology/thread_siblings | 0
.../cpu/cpu40/topology/thread_siblings_list | 0
.../cpu/cpu158 => linux-nonpresent/cpu/cpu41}/online | 0
.../cpu/cpu157 => linux-nonpresent/cpu/cpu42}/online | 0
.../cpu/cpu156 => linux-nonpresent/cpu/cpu43}/online | 0
.../cpu/cpu155 => linux-nonpresent/cpu/cpu44}/online | 0
.../cpu/cpu154 => linux-nonpresent/cpu/cpu45}/online | 0
.../cpu/cpu153 => linux-nonpresent/cpu/cpu46}/online | 0
.../cpu/cpu152 => linux-nonpresent/cpu/cpu47}/online | 0
.../cpu/cpu112 => linux-nonpresent/cpu/cpu48}/online | 0
.../cpu/cpu48/topology/core_id | 0
.../cpu/cpu48/topology/core_siblings | 0
.../cpu/cpu48/topology/core_siblings_list | 0
.../cpu/cpu48/topology/physical_package_id | 0
.../cpu/cpu48/topology/thread_siblings | 0
.../cpu/cpu48/topology/thread_siblings_list | 0
.../cpu/cpu151 => linux-nonpresent/cpu/cpu49}/online | 0
.../cpu/cpu150 => linux-nonpresent/cpu/cpu5}/online | 0
.../cpu/cpu15 => linux-nonpresent/cpu/cpu50}/online | 0
.../cpu/cpu149 => linux-nonpresent/cpu/cpu51}/online | 0
.../cpu/cpu148 => linux-nonpresent/cpu/cpu52}/online | 0
.../cpu/cpu147 => linux-nonpresent/cpu/cpu53}/online | 0
.../cpu/cpu146 => linux-nonpresent/cpu/cpu54}/online | 0
.../cpu/cpu145 => linux-nonpresent/cpu/cpu55}/online | 0
.../cpu/cpu144 => linux-nonpresent/cpu/cpu56}/online | 0
.../cpu/cpu143 => linux-nonpresent/cpu/cpu57}/online | 0
.../cpu/cpu142 => linux-nonpresent/cpu/cpu58}/online | 0
.../cpu/cpu141 => linux-nonpresent/cpu/cpu59}/online | 0
.../cpu/cpu140 => linux-nonpresent/cpu/cpu6}/online | 0
.../cpu/cpu14 => linux-nonpresent/cpu/cpu60}/online | 0
.../cpu/cpu139 => linux-nonpresent/cpu/cpu61}/online | 0
.../cpu/cpu138 => linux-nonpresent/cpu/cpu62}/online | 0
.../cpu/cpu137 => linux-nonpresent/cpu/cpu63}/online | 0
.../cpu/cpu135 => linux-nonpresent/cpu/cpu64}/online | 0
.../cpu/cpu134 => linux-nonpresent/cpu/cpu65}/online | 0
.../cpu/cpu133 => linux-nonpresent/cpu/cpu66}/online | 0
.../cpu/cpu132 => linux-nonpresent/cpu/cpu67}/online | 0
.../cpu/cpu131 => linux-nonpresent/cpu/cpu68}/online | 0
.../cpu/cpu130 => linux-nonpresent/cpu/cpu69}/online | 0
.../cpu/cpu13 => linux-nonpresent/cpu/cpu7}/online | 0
.../cpu/cpu129 => linux-nonpresent/cpu/cpu70}/online | 0
.../cpu/cpu127 => linux-nonpresent/cpu/cpu71}/online | 0
.../cpu/cpu104 => linux-nonpresent/cpu/cpu72}/online | 0
.../cpu/cpu72/topology/core_id | 0
.../cpu/cpu40 => linux-nonpresent/cpu/cpu72}/topology/core_siblings | 0
.../cpu40 => linux-nonpresent/cpu/cpu72}/topology/core_siblings_list | 0
.../cpu40 => linux-nonpresent/cpu/cpu72}/topology/physical_package_id | 0
.../cpu/cpu72/topology/thread_siblings | 0
.../cpu/cpu72/topology/thread_siblings_list | 0
.../cpu/cpu126 => linux-nonpresent/cpu/cpu73}/online | 0
.../cpu/cpu125 => linux-nonpresent/cpu/cpu74}/online | 0
.../cpu/cpu124 => linux-nonpresent/cpu/cpu75}/online | 0
.../cpu/cpu123 => linux-nonpresent/cpu/cpu76}/online | 0
.../cpu/cpu122 => linux-nonpresent/cpu/cpu77}/online | 0
.../cpu/cpu121 => linux-nonpresent/cpu/cpu78}/online | 0
.../cpu/cpu12 => linux-nonpresent/cpu/cpu79}/online | 0
.../cpu/cpu119 => linux-nonpresent/cpu/cpu8}/online | 0
.../cpu/cpu118 => linux-nonpresent/cpu/cpu80}/online | 0
.../cpu/cpu117 => linux-nonpresent/cpu/cpu81}/online | 0
.../cpu/cpu116 => linux-nonpresent/cpu/cpu82}/online | 0
.../cpu/cpu115 => linux-nonpresent/cpu/cpu83}/online | 0
.../cpu/cpu114 => linux-nonpresent/cpu/cpu84}/online | 0
.../cpu/cpu113 => linux-nonpresent/cpu/cpu85}/online | 0
.../cpu/cpu111 => linux-nonpresent/cpu/cpu86}/online | 0
.../cpu/cpu110 => linux-nonpresent/cpu/cpu87}/online | 0
.../cpu/cpu11 => linux-nonpresent/cpu/cpu88}/online | 0
.../cpu/cpu109 => linux-nonpresent/cpu/cpu89}/online | 0
.../cpu/cpu108 => linux-nonpresent/cpu/cpu9}/online | 0
.../cpu/cpu107 => linux-nonpresent/cpu/cpu90}/online | 0
.../cpu/cpu106 => linux-nonpresent/cpu/cpu91}/online | 0
.../cpu/cpu105 => linux-nonpresent/cpu/cpu92}/online | 0
.../cpu/cpu103 => linux-nonpresent/cpu/cpu93}/online | 0
.../cpu/cpu102 => linux-nonpresent/cpu/cpu94}/online | 0
.../cpu/cpu101 => linux-nonpresent/cpu/cpu95}/online | 0
.../cpu/cpu100 => linux-nonpresent/cpu/cpu96}/online | 0
.../cpu/cpu10 => linux-nonpresent/cpu/cpu97}/online | 0
.../cpu/cpu1 => linux-nonpresent/cpu/cpu98}/online | 0
.../cpu/cpu0 => linux-nonpresent/cpu/cpu99}/online | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/cpu/kernel_max | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/cpu/offline | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/cpu/online | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/cpu/possible | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/cpu/present | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu0 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu1 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu10 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu100 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu101 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu102 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu103 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu11 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu12 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu13 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu14 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu144 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu145 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu146 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu147 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu148 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu149 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu15 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu150 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu151 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu152 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu153 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu154 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu155 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu156 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu157 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu158 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu159 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu16 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu17 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu18 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu19 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu2 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu20 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu21 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu22 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu23 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu24 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu25 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu26 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu27 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu28 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu29 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu3 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu30 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu31 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu32 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu33 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu34 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu35 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu36 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu37 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu38 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu39 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu4 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu5 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu56 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu57 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu58 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu59 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu6 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu60 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu61 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu62 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu63 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu64 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu65 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu66 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu67 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu68 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu69 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu7 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu70 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu71 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu8 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu80 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu81 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu82 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu83 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu84 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu85 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu86 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu87 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu88 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu89 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu9 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu90 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu91 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu92 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu93 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu94 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu95 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu96 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu97 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu98 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu99 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node0/meminfo | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu40 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu41 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu42 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu43 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu44 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu45 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu46 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu47 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu48 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu49 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu50 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu51 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu52 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu53 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu54 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu55 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu72 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu73 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu74 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu75 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu76 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu77 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu78 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu79 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node1/meminfo | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu104 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu105 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu106 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu107 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu108 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu109 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu110 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu111 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu112 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu113 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu114 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu115 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu116 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu117 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu118 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu119 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node16/meminfo | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu120 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu121 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu122 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu123 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu124 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu125 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu126 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu127 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu128 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu129 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu130 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu131 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu132 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu133 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu134 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu135 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu136 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu137 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu138 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu139 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu140 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu141 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu142 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu143 | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/node17/meminfo | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/online | 0
.../{linux-deconfigured-cpus => linux-nonpresent}/node/possible | 0
...x-ppc64-deconfigured-cpus.cpuinfo => linux-ppc64-nonpresent.cpuinfo} | 0
...ppc64-deconfigured-cpus.expected => linux-ppc64-nonpresent.expected} | 0
tests/nodeinfotest.c | 2 +-
394 files changed, 1 insertion(+), 1 deletion(-)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu99 => linux-nonpresent/cpu/cpu0}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu98 => linux-nonpresent/cpu/cpu1}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu97 => linux-nonpresent/cpu/cpu10}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu96 => linux-nonpresent/cpu/cpu100}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu95 => linux-nonpresent/cpu/cpu101}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu94 => linux-nonpresent/cpu/cpu102}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu93 => linux-nonpresent/cpu/cpu103}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu72 => linux-nonpresent/cpu/cpu104}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu104/topology/core_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu112 => linux-nonpresent/cpu/cpu104}/topology/core_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu112 => linux-nonpresent/cpu/cpu104}/topology/core_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu112 => linux-nonpresent/cpu/cpu104}/topology/physical_package_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu104/topology/thread_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu104/topology/thread_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu92 => linux-nonpresent/cpu/cpu105}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu91 => linux-nonpresent/cpu/cpu106}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu90 => linux-nonpresent/cpu/cpu107}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu9 => linux-nonpresent/cpu/cpu108}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu89 => linux-nonpresent/cpu/cpu109}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu88 => linux-nonpresent/cpu/cpu11}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu87 => linux-nonpresent/cpu/cpu110}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu86 => linux-nonpresent/cpu/cpu111}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu48 => linux-nonpresent/cpu/cpu112}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu112/topology/core_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu104 => linux-nonpresent/cpu/cpu112}/topology/core_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu104 => linux-nonpresent/cpu/cpu112}/topology/core_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu104 => linux-nonpresent/cpu/cpu112}/topology/physical_package_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu112/topology/thread_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu112/topology/thread_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu85 => linux-nonpresent/cpu/cpu113}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu84 => linux-nonpresent/cpu/cpu114}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu83 => linux-nonpresent/cpu/cpu115}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu82 => linux-nonpresent/cpu/cpu116}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu81 => linux-nonpresent/cpu/cpu117}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu80 => linux-nonpresent/cpu/cpu118}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu8 => linux-nonpresent/cpu/cpu119}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu79 => linux-nonpresent/cpu/cpu12}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu40 => linux-nonpresent/cpu/cpu120}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu120/topology/core_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu136 => linux-nonpresent/cpu/cpu120}/topology/core_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu136 => linux-nonpresent/cpu/cpu120}/topology/core_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu136 => linux-nonpresent/cpu/cpu120}/topology/physical_package_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu120/topology/thread_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu120/topology/thread_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu78 => linux-nonpresent/cpu/cpu121}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu77 => linux-nonpresent/cpu/cpu122}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu76 => linux-nonpresent/cpu/cpu123}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu75 => linux-nonpresent/cpu/cpu124}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu74 => linux-nonpresent/cpu/cpu125}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu73 => linux-nonpresent/cpu/cpu126}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu71 => linux-nonpresent/cpu/cpu127}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu24 => linux-nonpresent/cpu/cpu128}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu128/topology/core_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu128/topology/core_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu128/topology/core_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu128/topology/physical_package_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu128/topology/thread_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu128/topology/thread_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu70 => linux-nonpresent/cpu/cpu129}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu7 => linux-nonpresent/cpu/cpu13}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu69 => linux-nonpresent/cpu/cpu130}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu68 => linux-nonpresent/cpu/cpu131}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu67 => linux-nonpresent/cpu/cpu132}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu66 => linux-nonpresent/cpu/cpu133}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu65 => linux-nonpresent/cpu/cpu134}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu64 => linux-nonpresent/cpu/cpu135}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu16 => linux-nonpresent/cpu/cpu136}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu136/topology/core_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu120 => linux-nonpresent/cpu/cpu136}/topology/core_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu120 => linux-nonpresent/cpu/cpu136}/topology/core_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu120 => linux-nonpresent/cpu/cpu136}/topology/physical_package_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu136/topology/thread_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu136/topology/thread_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu63 => linux-nonpresent/cpu/cpu137}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu62 => linux-nonpresent/cpu/cpu138}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu61 => linux-nonpresent/cpu/cpu139}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu60 => linux-nonpresent/cpu/cpu14}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu6 => linux-nonpresent/cpu/cpu140}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu59 => linux-nonpresent/cpu/cpu141}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu58 => linux-nonpresent/cpu/cpu142}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu57 => linux-nonpresent/cpu/cpu143}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu56 => linux-nonpresent/cpu/cpu144}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu55 => linux-nonpresent/cpu/cpu145}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu54 => linux-nonpresent/cpu/cpu146}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu53 => linux-nonpresent/cpu/cpu147}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu52 => linux-nonpresent/cpu/cpu148}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu51 => linux-nonpresent/cpu/cpu149}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu50 => linux-nonpresent/cpu/cpu15}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu5 => linux-nonpresent/cpu/cpu150}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu49 => linux-nonpresent/cpu/cpu151}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu47 => linux-nonpresent/cpu/cpu152}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu46 => linux-nonpresent/cpu/cpu153}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu45 => linux-nonpresent/cpu/cpu154}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu44 => linux-nonpresent/cpu/cpu155}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu43 => linux-nonpresent/cpu/cpu156}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu42 => linux-nonpresent/cpu/cpu157}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu41 => linux-nonpresent/cpu/cpu158}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu4 => linux-nonpresent/cpu/cpu159}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu136 => linux-nonpresent/cpu/cpu16}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu16/topology/core_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu24 => linux-nonpresent/cpu/cpu16}/topology/core_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu24 => linux-nonpresent/cpu/cpu16}/topology/core_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu24 => linux-nonpresent/cpu/cpu16}/topology/physical_package_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu16/topology/thread_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu16/topology/thread_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu39 => linux-nonpresent/cpu/cpu17}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu38 => linux-nonpresent/cpu/cpu18}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu37 => linux-nonpresent/cpu/cpu19}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu36 => linux-nonpresent/cpu/cpu2}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu35 => linux-nonpresent/cpu/cpu20}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu34 => linux-nonpresent/cpu/cpu21}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu33 => linux-nonpresent/cpu/cpu22}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu32 => linux-nonpresent/cpu/cpu23}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu128 => linux-nonpresent/cpu/cpu24}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu24/topology/core_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu16 => linux-nonpresent/cpu/cpu24}/topology/core_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu16 => linux-nonpresent/cpu/cpu24}/topology/core_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu16 => linux-nonpresent/cpu/cpu24}/topology/physical_package_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu24/topology/thread_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu24/topology/thread_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu31 => linux-nonpresent/cpu/cpu25}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu30 => linux-nonpresent/cpu/cpu26}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu3 => linux-nonpresent/cpu/cpu27}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu29 => linux-nonpresent/cpu/cpu28}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu28 => linux-nonpresent/cpu/cpu29}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu27 => linux-nonpresent/cpu/cpu3}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu26 => linux-nonpresent/cpu/cpu30}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu25 => linux-nonpresent/cpu/cpu31}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu23 => linux-nonpresent/cpu/cpu32}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu22 => linux-nonpresent/cpu/cpu33}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu21 => linux-nonpresent/cpu/cpu34}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu20 => linux-nonpresent/cpu/cpu35}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu2 => linux-nonpresent/cpu/cpu36}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu19 => linux-nonpresent/cpu/cpu37}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu18 => linux-nonpresent/cpu/cpu38}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu17 => linux-nonpresent/cpu/cpu39}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu159 => linux-nonpresent/cpu/cpu4}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu120 => linux-nonpresent/cpu/cpu40}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu40/topology/core_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu72 => linux-nonpresent/cpu/cpu40}/topology/core_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu72 => linux-nonpresent/cpu/cpu40}/topology/core_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu72 => linux-nonpresent/cpu/cpu40}/topology/physical_package_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu40/topology/thread_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu40/topology/thread_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu158 => linux-nonpresent/cpu/cpu41}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu157 => linux-nonpresent/cpu/cpu42}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu156 => linux-nonpresent/cpu/cpu43}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu155 => linux-nonpresent/cpu/cpu44}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu154 => linux-nonpresent/cpu/cpu45}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu153 => linux-nonpresent/cpu/cpu46}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu152 => linux-nonpresent/cpu/cpu47}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu112 => linux-nonpresent/cpu/cpu48}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu48/topology/core_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu48/topology/core_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu48/topology/core_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu48/topology/physical_package_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu48/topology/thread_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu48/topology/thread_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu151 => linux-nonpresent/cpu/cpu49}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu150 => linux-nonpresent/cpu/cpu5}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu15 => linux-nonpresent/cpu/cpu50}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu149 => linux-nonpresent/cpu/cpu51}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu148 => linux-nonpresent/cpu/cpu52}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu147 => linux-nonpresent/cpu/cpu53}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu146 => linux-nonpresent/cpu/cpu54}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu145 => linux-nonpresent/cpu/cpu55}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu144 => linux-nonpresent/cpu/cpu56}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu143 => linux-nonpresent/cpu/cpu57}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu142 => linux-nonpresent/cpu/cpu58}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu141 => linux-nonpresent/cpu/cpu59}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu140 => linux-nonpresent/cpu/cpu6}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu14 => linux-nonpresent/cpu/cpu60}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu139 => linux-nonpresent/cpu/cpu61}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu138 => linux-nonpresent/cpu/cpu62}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu137 => linux-nonpresent/cpu/cpu63}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu135 => linux-nonpresent/cpu/cpu64}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu134 => linux-nonpresent/cpu/cpu65}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu133 => linux-nonpresent/cpu/cpu66}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu132 => linux-nonpresent/cpu/cpu67}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu131 => linux-nonpresent/cpu/cpu68}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu130 => linux-nonpresent/cpu/cpu69}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu13 => linux-nonpresent/cpu/cpu7}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu129 => linux-nonpresent/cpu/cpu70}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu127 => linux-nonpresent/cpu/cpu71}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu104 => linux-nonpresent/cpu/cpu72}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu72/topology/core_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu40 => linux-nonpresent/cpu/cpu72}/topology/core_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu40 => linux-nonpresent/cpu/cpu72}/topology/core_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu40 => linux-nonpresent/cpu/cpu72}/topology/physical_package_id (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu72/topology/thread_siblings (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/cpu72/topology/thread_siblings_list (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu126 => linux-nonpresent/cpu/cpu73}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu125 => linux-nonpresent/cpu/cpu74}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu124 => linux-nonpresent/cpu/cpu75}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu123 => linux-nonpresent/cpu/cpu76}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu122 => linux-nonpresent/cpu/cpu77}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu121 => linux-nonpresent/cpu/cpu78}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu12 => linux-nonpresent/cpu/cpu79}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu119 => linux-nonpresent/cpu/cpu8}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu118 => linux-nonpresent/cpu/cpu80}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu117 => linux-nonpresent/cpu/cpu81}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu116 => linux-nonpresent/cpu/cpu82}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu115 => linux-nonpresent/cpu/cpu83}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu114 => linux-nonpresent/cpu/cpu84}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu113 => linux-nonpresent/cpu/cpu85}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu111 => linux-nonpresent/cpu/cpu86}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu110 => linux-nonpresent/cpu/cpu87}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu11 => linux-nonpresent/cpu/cpu88}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu109 => linux-nonpresent/cpu/cpu89}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu108 => linux-nonpresent/cpu/cpu9}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu107 => linux-nonpresent/cpu/cpu90}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu106 => linux-nonpresent/cpu/cpu91}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu105 => linux-nonpresent/cpu/cpu92}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu103 => linux-nonpresent/cpu/cpu93}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu102 => linux-nonpresent/cpu/cpu94}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu101 => linux-nonpresent/cpu/cpu95}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu100 => linux-nonpresent/cpu/cpu96}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu10 => linux-nonpresent/cpu/cpu97}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu1 => linux-nonpresent/cpu/cpu98}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus/cpu/cpu0 => linux-nonpresent/cpu/cpu99}/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/kernel_max (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/offline (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/possible (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/cpu/present (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu0 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu1 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu10 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu100 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu101 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu102 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu103 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu11 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu12 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu13 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu14 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu144 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu145 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu146 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu147 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu148 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu149 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu15 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu150 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu151 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu152 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu153 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu154 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu155 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu156 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu157 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu158 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu159 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu16 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu17 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu18 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu19 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu2 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu20 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu21 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu22 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu23 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu24 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu25 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu26 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu27 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu28 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu29 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu3 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu30 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu31 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu32 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu33 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu34 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu35 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu36 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu37 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu38 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu39 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu4 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu5 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu56 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu57 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu58 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu59 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu6 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu60 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu61 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu62 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu63 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu64 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu65 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu66 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu67 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu68 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu69 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu7 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu70 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu71 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu8 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu80 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu81 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu82 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu83 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu84 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu85 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu86 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu87 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu88 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu89 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu9 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu90 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu91 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu92 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu93 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu94 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu95 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu96 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu97 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu98 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/cpu99 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node0/meminfo (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu40 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu41 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu42 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu43 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu44 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu45 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu46 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu47 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu48 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu49 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu50 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu51 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu52 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu53 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu54 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu55 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu72 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu73 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu74 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu75 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu76 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu77 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu78 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/cpu79 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node1/meminfo (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu104 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu105 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu106 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu107 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu108 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu109 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu110 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu111 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu112 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu113 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu114 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu115 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu116 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu117 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu118 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/cpu119 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node16/meminfo (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu120 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu121 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu122 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu123 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu124 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu125 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu126 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu127 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu128 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu129 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu130 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu131 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu132 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu133 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu134 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu135 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu136 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu137 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu138 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu139 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu140 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu141 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu142 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/cpu143 (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/node17/meminfo (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/online (100%)
rename tests/nodeinfodata/{linux-deconfigured-cpus => linux-nonpresent}/node/possible (100%)
rename tests/nodeinfodata/{linux-ppc64-deconfigured-cpus.cpuinfo => linux-ppc64-nonpresent.cpuinfo} (100%)
rename tests/nodeinfodata/{linux-ppc64-deconfigured-cpus.expected => linux-ppc64-nonpresent.expected} (100%)
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu99/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu0/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu99/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu0/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu98/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu1/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu98/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu1/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu97/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu10/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu97/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu10/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu96/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu100/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu96/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu100/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu95/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu101/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu95/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu101/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu94/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu102/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu94/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu102/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu93/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu103/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu93/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu103/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu104/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu104/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu104/topology/core_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu104/topology/core_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu104/topology/core_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu104/topology/core_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu104/topology/core_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu104/topology/core_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/physical_package_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu104/topology/physical_package_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/physical_package_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu104/topology/physical_package_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/thread_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu104/topology/thread_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/thread_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu104/topology/thread_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/thread_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu104/topology/thread_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/thread_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu104/topology/thread_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu92/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu105/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu92/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu105/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu91/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu106/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu91/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu106/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu90/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu107/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu90/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu107/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu9/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu108/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu9/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu108/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu89/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu109/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu89/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu109/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu88/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu11/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu88/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu11/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu87/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu110/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu87/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu110/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu86/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu111/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu86/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu111/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu112/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu112/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu112/topology/core_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/core_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu112/topology/core_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu112/topology/core_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu112/topology/core_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu112/topology/core_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/core_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu112/topology/core_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/physical_package_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu112/topology/physical_package_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/topology/physical_package_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu112/topology/physical_package_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/thread_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu112/topology/thread_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/thread_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu112/topology/thread_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/thread_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu112/topology/thread_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/topology/thread_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu112/topology/thread_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu85/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu113/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu85/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu113/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu84/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu114/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu84/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu114/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu83/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu115/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu83/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu115/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu82/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu116/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu82/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu116/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu81/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu117/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu81/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu117/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu80/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu118/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu80/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu118/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu8/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu119/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu8/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu119/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu79/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu12/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu79/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu12/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu120/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu120/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu120/topology/core_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu120/topology/core_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu120/topology/core_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu120/topology/core_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu120/topology/core_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu120/topology/core_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/physical_package_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu120/topology/physical_package_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/physical_package_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu120/topology/physical_package_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/thread_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu120/topology/thread_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/thread_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu120/topology/thread_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/thread_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu120/topology/thread_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/thread_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu120/topology/thread_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu78/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu121/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu78/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu121/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu77/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu122/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu77/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu122/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu76/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu123/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu76/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu123/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu75/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu124/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu75/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu124/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu74/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu125/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu74/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu125/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu73/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu126/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu73/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu126/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu71/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu127/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu71/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu127/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu128/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu128/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu128/topology/core_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu128/topology/core_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu128/topology/core_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu128/topology/core_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu128/topology/core_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/core_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu128/topology/core_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/physical_package_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu128/topology/physical_package_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/physical_package_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu128/topology/physical_package_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/thread_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu128/topology/thread_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/thread_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu128/topology/thread_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/thread_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu128/topology/thread_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/topology/thread_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu128/topology/thread_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu70/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu129/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu70/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu129/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu7/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu13/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu7/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu13/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu69/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu130/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu69/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu130/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu68/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu131/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu68/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu131/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu67/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu132/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu67/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu132/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu66/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu133/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu66/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu133/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu65/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu134/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu65/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu134/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu64/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu135/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu64/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu135/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu136/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu136/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu136/topology/core_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/core_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu136/topology/core_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu136/topology/core_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu136/topology/core_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu136/topology/core_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/core_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu136/topology/core_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/physical_package_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu136/topology/physical_package_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/topology/physical_package_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu136/topology/physical_package_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/thread_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu136/topology/thread_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/thread_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu136/topology/thread_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/thread_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu136/topology/thread_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/topology/thread_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu136/topology/thread_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu63/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu137/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu63/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu137/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu62/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu138/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu62/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu138/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu61/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu139/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu61/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu139/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu60/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu14/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu60/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu14/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu6/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu140/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu6/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu140/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu59/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu141/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu59/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu141/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu58/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu142/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu58/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu142/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu57/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu143/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu57/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu143/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu56/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu144/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu56/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu144/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu55/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu145/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu55/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu145/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu54/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu146/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu54/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu146/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu53/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu147/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu53/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu147/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu52/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu148/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu52/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu148/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu51/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu149/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu51/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu149/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu50/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu15/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu50/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu15/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu5/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu150/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu5/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu150/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu49/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu151/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu49/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu151/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu47/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu152/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu47/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu152/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu46/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu153/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu46/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu153/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu45/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu154/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu45/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu154/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu44/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu155/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu44/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu155/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu43/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu156/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu43/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu156/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu42/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu157/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu42/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu157/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu41/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu158/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu41/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu158/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu4/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu159/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu4/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu159/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu16/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu136/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu16/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu16/topology/core_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu16/topology/core_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu16/topology/core_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu16/topology/core_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu16/topology/core_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu16/topology/core_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/physical_package_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu16/topology/physical_package_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/physical_package_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu16/topology/physical_package_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/thread_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu16/topology/thread_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/thread_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu16/topology/thread_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/thread_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu16/topology/thread_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/thread_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu16/topology/thread_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu39/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu17/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu39/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu17/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu38/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu18/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu38/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu18/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu37/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu19/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu37/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu19/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu36/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu2/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu36/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu2/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu35/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu20/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu35/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu20/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu34/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu21/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu34/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu21/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu33/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu22/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu33/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu22/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu32/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu23/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu32/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu23/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu24/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu128/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu24/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu24/topology/core_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/core_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu24/topology/core_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu24/topology/core_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu24/topology/core_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu24/topology/core_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/core_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu24/topology/core_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/physical_package_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu24/topology/physical_package_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu16/topology/physical_package_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu24/topology/physical_package_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/thread_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu24/topology/thread_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/thread_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu24/topology/thread_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/thread_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu24/topology/thread_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu24/topology/thread_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu24/topology/thread_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu31/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu25/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu31/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu25/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu30/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu26/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu30/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu26/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu3/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu27/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu3/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu27/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu29/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu28/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu29/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu28/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu28/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu29/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu28/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu29/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu27/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu3/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu27/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu3/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu26/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu30/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu26/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu30/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu25/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu31/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu25/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu31/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu23/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu32/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu23/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu32/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu22/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu33/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu22/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu33/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu21/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu34/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu21/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu34/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu20/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu35/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu20/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu35/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu2/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu36/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu2/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu36/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu19/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu37/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu19/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu37/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu18/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu38/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu18/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu38/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu17/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu39/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu17/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu39/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu159/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu4/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu159/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu4/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu40/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu120/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu40/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu40/topology/core_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu40/topology/core_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu40/topology/core_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu40/topology/core_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu40/topology/core_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu40/topology/core_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/physical_package_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu40/topology/physical_package_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/physical_package_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu40/topology/physical_package_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/thread_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu40/topology/thread_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/thread_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu40/topology/thread_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/thread_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu40/topology/thread_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/thread_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu40/topology/thread_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu158/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu41/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu158/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu41/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu157/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu42/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu157/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu42/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu156/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu43/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu156/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu43/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu155/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu44/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu155/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu44/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu154/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu45/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu154/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu45/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu153/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu46/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu153/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu46/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu152/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu47/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu152/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu47/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu48/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu112/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu48/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu48/topology/core_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu48/topology/core_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu48/topology/core_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu48/topology/core_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu48/topology/core_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/core_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu48/topology/core_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/physical_package_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu48/topology/physical_package_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/physical_package_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu48/topology/physical_package_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/thread_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu48/topology/thread_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/thread_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu48/topology/thread_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/thread_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu48/topology/thread_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu48/topology/thread_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu48/topology/thread_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu151/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu49/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu151/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu49/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu150/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu5/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu150/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu5/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu15/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu50/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu15/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu50/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu149/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu51/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu149/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu51/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu148/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu52/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu148/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu52/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu147/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu53/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu147/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu53/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu146/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu54/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu146/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu54/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu145/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu55/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu145/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu55/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu144/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu56/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu144/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu56/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu143/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu57/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu143/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu57/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu142/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu58/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu142/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu58/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu141/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu59/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu141/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu59/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu140/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu6/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu140/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu6/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu14/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu60/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu14/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu60/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu139/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu61/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu139/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu61/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu138/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu62/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu138/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu62/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu137/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu63/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu137/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu63/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu135/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu64/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu135/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu64/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu134/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu65/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu134/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu65/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu133/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu66/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu133/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu66/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu132/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu67/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu132/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu67/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu131/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu68/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu131/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu68/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu130/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu69/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu130/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu69/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu13/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu7/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu13/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu7/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu129/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu70/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu129/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu70/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu127/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu71/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu127/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu71/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu72/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu104/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu72/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu72/topology/core_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/core_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu72/topology/core_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu72/topology/core_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu72/topology/core_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu72/topology/core_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/core_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu72/topology/core_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/physical_package_id b/tests/nodeinfodata/linux-nonpresent/cpu/cpu72/topology/physical_package_id
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu40/topology/physical_package_id
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu72/topology/physical_package_id
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/thread_siblings b/tests/nodeinfodata/linux-nonpresent/cpu/cpu72/topology/thread_siblings
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/thread_siblings
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu72/topology/thread_siblings
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/thread_siblings_list b/tests/nodeinfodata/linux-nonpresent/cpu/cpu72/topology/thread_siblings_list
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu72/topology/thread_siblings_list
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu72/topology/thread_siblings_list
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu126/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu73/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu126/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu73/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu125/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu74/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu125/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu74/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu124/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu75/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu124/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu75/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu123/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu76/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu123/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu76/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu122/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu77/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu122/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu77/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu121/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu78/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu121/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu78/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu12/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu79/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu12/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu79/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu119/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu8/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu119/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu8/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu118/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu80/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu118/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu80/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu117/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu81/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu117/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu81/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu116/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu82/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu116/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu82/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu115/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu83/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu115/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu83/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu114/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu84/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu114/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu84/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu113/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu85/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu113/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu85/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu111/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu86/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu111/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu86/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu110/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu87/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu110/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu87/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu11/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu88/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu11/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu88/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu109/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu89/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu109/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu89/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu108/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu9/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu108/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu9/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu107/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu90/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu107/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu90/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu106/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu91/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu106/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu91/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu105/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu92/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu105/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu92/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu103/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu93/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu103/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu93/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu102/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu94/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu102/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu94/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu101/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu95/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu101/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu95/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu100/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu96/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu100/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu96/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu10/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu97/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu10/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu97/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu1/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu98/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu1/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu98/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu0/online b/tests/nodeinfodata/linux-nonpresent/cpu/cpu99/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/cpu0/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/cpu99/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/kernel_max b/tests/nodeinfodata/linux-nonpresent/cpu/kernel_max
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/kernel_max
rename to tests/nodeinfodata/linux-nonpresent/cpu/kernel_max
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/offline b/tests/nodeinfodata/linux-nonpresent/cpu/offline
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/offline
rename to tests/nodeinfodata/linux-nonpresent/cpu/offline
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/online b/tests/nodeinfodata/linux-nonpresent/cpu/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/online
rename to tests/nodeinfodata/linux-nonpresent/cpu/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/possible b/tests/nodeinfodata/linux-nonpresent/cpu/possible
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/possible
rename to tests/nodeinfodata/linux-nonpresent/cpu/possible
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/cpu/present b/tests/nodeinfodata/linux-nonpresent/cpu/present
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/cpu/present
rename to tests/nodeinfodata/linux-nonpresent/cpu/present
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu0 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu0
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu0
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu0
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu1 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu1
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu1
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu1
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu10 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu10
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu10
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu10
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu100 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu100
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu100
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu100
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu101 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu101
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu101
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu101
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu102 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu102
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu102
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu102
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu103 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu103
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu103
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu103
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu11 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu11
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu11
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu11
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu12 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu12
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu12
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu12
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu13 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu13
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu13
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu13
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu14 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu14
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu14
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu14
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu144 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu144
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu144
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu144
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu145 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu145
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu145
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu145
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu146 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu146
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu146
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu146
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu147 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu147
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu147
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu147
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu148 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu148
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu148
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu148
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu149 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu149
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu149
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu149
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu15 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu15
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu15
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu15
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu150 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu150
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu150
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu150
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu151 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu151
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu151
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu151
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu152 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu152
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu152
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu152
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu153 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu153
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu153
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu153
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu154 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu154
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu154
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu154
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu155 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu155
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu155
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu155
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu156 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu156
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu156
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu156
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu157 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu157
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu157
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu157
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu158 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu158
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu158
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu158
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu159 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu159
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu159
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu159
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu16 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu16
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu16
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu16
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu17 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu17
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu17
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu17
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu18 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu18
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu18
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu18
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu19 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu19
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu19
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu19
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu2 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu2
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu2
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu2
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu20 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu20
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu20
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu20
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu21 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu21
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu21
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu21
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu22 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu22
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu22
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu22
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu23 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu23
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu23
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu23
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu24 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu24
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu24
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu24
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu25 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu25
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu25
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu25
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu26 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu26
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu26
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu26
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu27 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu27
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu27
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu27
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu28 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu28
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu28
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu28
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu29 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu29
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu29
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu29
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu3 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu3
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu3
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu3
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu30 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu30
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu30
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu30
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu31 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu31
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu31
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu31
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu32 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu32
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu32
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu32
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu33 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu33
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu33
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu33
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu34 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu34
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu34
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu34
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu35 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu35
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu35
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu35
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu36 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu36
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu36
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu36
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu37 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu37
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu37
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu37
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu38 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu38
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu38
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu38
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu39 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu39
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu39
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu39
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu4 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu4
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu4
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu4
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu5 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu5
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu5
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu5
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu56 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu56
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu56
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu56
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu57 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu57
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu57
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu57
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu58 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu58
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu58
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu58
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu59 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu59
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu59
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu59
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu6 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu6
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu6
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu6
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu60 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu60
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu60
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu60
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu61 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu61
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu61
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu61
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu62 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu62
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu62
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu62
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu63 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu63
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu63
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu63
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu64 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu64
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu64
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu64
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu65 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu65
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu65
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu65
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu66 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu66
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu66
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu66
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu67 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu67
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu67
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu67
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu68 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu68
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu68
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu68
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu69 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu69
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu69
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu69
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu7 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu7
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu7
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu7
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu70 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu70
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu70
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu70
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu71 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu71
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu71
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu71
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu8 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu8
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu8
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu8
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu80 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu80
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu80
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu80
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu81 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu81
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu81
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu81
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu82 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu82
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu82
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu82
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu83 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu83
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu83
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu83
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu84 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu84
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu84
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu84
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu85 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu85
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu85
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu85
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu86 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu86
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu86
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu86
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu87 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu87
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu87
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu87
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu88 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu88
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu88
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu88
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu89 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu89
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu89
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu89
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu9 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu9
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu9
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu9
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu90 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu90
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu90
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu90
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu91 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu91
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu91
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu91
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu92 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu92
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu92
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu92
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu93 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu93
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu93
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu93
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu94 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu94
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu94
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu94
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu95 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu95
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu95
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu95
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu96 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu96
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu96
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu96
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu97 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu97
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu97
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu97
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu98 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu98
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu98
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu98
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu99 b/tests/nodeinfodata/linux-nonpresent/node/node0/cpu99
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/cpu99
rename to tests/nodeinfodata/linux-nonpresent/node/node0/cpu99
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node0/meminfo b/tests/nodeinfodata/linux-nonpresent/node/node0/meminfo
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node0/meminfo
rename to tests/nodeinfodata/linux-nonpresent/node/node0/meminfo
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu40 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu40
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu40
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu40
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu41 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu41
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu41
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu41
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu42 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu42
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu42
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu42
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu43 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu43
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu43
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu43
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu44 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu44
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu44
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu44
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu45 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu45
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu45
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu45
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu46 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu46
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu46
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu46
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu47 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu47
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu47
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu47
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu48 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu48
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu48
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu48
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu49 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu49
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu49
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu49
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu50 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu50
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu50
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu50
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu51 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu51
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu51
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu51
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu52 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu52
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu52
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu52
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu53 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu53
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu53
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu53
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu54 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu54
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu54
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu54
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu55 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu55
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu55
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu55
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu72 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu72
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu72
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu72
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu73 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu73
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu73
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu73
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu74 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu74
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu74
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu74
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu75 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu75
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu75
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu75
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu76 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu76
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu76
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu76
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu77 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu77
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu77
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu77
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu78 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu78
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu78
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu78
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu79 b/tests/nodeinfodata/linux-nonpresent/node/node1/cpu79
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/cpu79
rename to tests/nodeinfodata/linux-nonpresent/node/node1/cpu79
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node1/meminfo b/tests/nodeinfodata/linux-nonpresent/node/node1/meminfo
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node1/meminfo
rename to tests/nodeinfodata/linux-nonpresent/node/node1/meminfo
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu104 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu104
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu104
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu104
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu105 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu105
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu105
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu105
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu106 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu106
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu106
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu106
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu107 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu107
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu107
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu107
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu108 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu108
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu108
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu108
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu109 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu109
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu109
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu109
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu110 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu110
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu110
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu110
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu111 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu111
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu111
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu111
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu112 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu112
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu112
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu112
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu113 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu113
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu113
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu113
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu114 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu114
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu114
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu114
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu115 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu115
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu115
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu115
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu116 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu116
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu116
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu116
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu117 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu117
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu117
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu117
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu118 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu118
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu118
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu118
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu119 b/tests/nodeinfodata/linux-nonpresent/node/node16/cpu119
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/cpu119
rename to tests/nodeinfodata/linux-nonpresent/node/node16/cpu119
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node16/meminfo b/tests/nodeinfodata/linux-nonpresent/node/node16/meminfo
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node16/meminfo
rename to tests/nodeinfodata/linux-nonpresent/node/node16/meminfo
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu120 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu120
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu120
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu120
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu121 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu121
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu121
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu121
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu122 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu122
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu122
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu122
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu123 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu123
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu123
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu123
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu124 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu124
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu124
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu124
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu125 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu125
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu125
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu125
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu126 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu126
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu126
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu126
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu127 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu127
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu127
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu127
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu128 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu128
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu128
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu128
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu129 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu129
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu129
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu129
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu130 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu130
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu130
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu130
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu131 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu131
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu131
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu131
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu132 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu132
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu132
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu132
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu133 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu133
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu133
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu133
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu134 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu134
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu134
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu134
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu135 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu135
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu135
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu135
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu136 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu136
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu136
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu136
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu137 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu137
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu137
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu137
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu138 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu138
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu138
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu138
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu139 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu139
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu139
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu139
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu140 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu140
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu140
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu140
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu141 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu141
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu141
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu141
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu142 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu142
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu142
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu142
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu143 b/tests/nodeinfodata/linux-nonpresent/node/node17/cpu143
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/cpu143
rename to tests/nodeinfodata/linux-nonpresent/node/node17/cpu143
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/node17/meminfo b/tests/nodeinfodata/linux-nonpresent/node/node17/meminfo
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/node17/meminfo
rename to tests/nodeinfodata/linux-nonpresent/node/node17/meminfo
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/online b/tests/nodeinfodata/linux-nonpresent/node/online
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/online
rename to tests/nodeinfodata/linux-nonpresent/node/online
diff --git a/tests/nodeinfodata/linux-deconfigured-cpus/node/possible b/tests/nodeinfodata/linux-nonpresent/node/possible
similarity index 100%
rename from tests/nodeinfodata/linux-deconfigured-cpus/node/possible
rename to tests/nodeinfodata/linux-nonpresent/node/possible
diff --git a/tests/nodeinfodata/linux-ppc64-deconfigured-cpus.cpuinfo b/tests/nodeinfodata/linux-ppc64-nonpresent.cpuinfo
similarity index 100%
rename from tests/nodeinfodata/linux-ppc64-deconfigured-cpus.cpuinfo
rename to tests/nodeinfodata/linux-ppc64-nonpresent.cpuinfo
diff --git a/tests/nodeinfodata/linux-ppc64-deconfigured-cpus.expected b/tests/nodeinfodata/linux-ppc64-nonpresent.expected
similarity index 100%
rename from tests/nodeinfodata/linux-ppc64-deconfigured-cpus.expected
rename to tests/nodeinfodata/linux-ppc64-nonpresent.expected
diff --git a/tests/nodeinfotest.c b/tests/nodeinfotest.c
index 60467bc..f682593 100644
--- a/tests/nodeinfotest.c
+++ b/tests/nodeinfotest.c
@@ -234,7 +234,7 @@ mymain(void)
{"raspberrypi", VIR_ARCH_ARMV6L},
{"f21-mustang", VIR_ARCH_AARCH64},
{"rhelsa-3.19.0-mustang", VIR_ARCH_AARCH64},
- {"deconfigured-cpus", VIR_ARCH_PPC64},
+ {"nonpresent", VIR_ARCH_PPC64},
};
if (virInitialize() < 0)
--
2.4.3
2
2
27 Jul '15
The remoteDomainOpenGraphicsFD method was using the wrong RPC
arg struct remote_domain_open_graphics_args instead of
remote_domain_open_graphics_fd_args. Fortunately both structs
had identical contents so there was no functional bug, but to
avoid consuing future maintainers, we should fix it.
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
src/remote/remote_driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 273799b..5c4cf7c 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -6456,7 +6456,7 @@ remoteDomainOpenGraphicsFD(virDomainPtr dom,
unsigned int flags)
{
int rv = -1;
- remote_domain_open_graphics_args args;
+ remote_domain_open_graphics_fd_args args;
struct private_data *priv = dom->conn->privateData;
int *fdout = NULL;
size_t fdoutlen = 0;
--
2.4.3
2
1
27 Jul '15
Return 16M for qxl because QEMU uses 16MB as the default video ram size
for qxl device since pc-1.2.
Signed-off-by: Lin Ma <lma(a)suse.com>
---
src/conf/domain_conf.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 6b557d1..8efc973 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -11651,8 +11651,10 @@ virDomainVideoDefaultRAM(const virDomainDef *def,
return 4 * 1024;
case VIR_DOMAIN_VIDEO_TYPE_QXL:
- /* QEMU use 64M as the minimal video memory for qxl device */
- return 64 * 1024;
+ /* By default, QEMU uses 16MB as video memory size
+ * for qxl device since pc-1.2
+ */
+ return 16 * 1024;
default:
return 0;
--
2.1.4
3
5