[PATCH v2 0/3] More work on deprecation/removal of clear text passwords
by Daniel P. Berrangé
This deprecates the -iscsi clear text 'password' option
and deletes the previously deprecated -spice 'password'
option.
Changed in v2:
* Fixed section placement for iscsi deprecation docs
* Fixed missing brackets in -iscsi help
* Write in past tense for -spice password removal docs
Daniel P. Berrangé (3):
block: mention 'password-secret' option for -iscsi
block: deprecate iSCSI 'password' in favour of 'password-secret'
ui: remove deprecated 'password' option for SPICE
block/iscsi.c | 3 +++
docs/about/deprecated.rst | 16 ++++++++--------
docs/about/removed-features.rst | 7 +++++++
qemu-options.hx | 13 +++----------
ui/spice-core.c | 15 ---------------
5 files changed, 21 insertions(+), 33 deletions(-)
--
2.38.1
1 year, 11 months
[PATCH 0/3] More work on deprecation/removal of clear text passwords
by Daniel P. Berrangé
This deprecates the -iscsi clear text 'password' option
and deletes the previously deprecated -spice 'password'
option.
Daniel P. Berrangé (3):
block: mention 'password-secret' option for -iscsi
block: deprecate iSCSI 'password' in favour of 'password-secret'
ui: remove deprecated 'password' option for SPICE
block/iscsi.c | 3 +++
docs/about/deprecated.rst | 19 +++++++++++--------
docs/about/removed-features.rst | 7 +++++++
qemu-options.hx | 11 ++---------
ui/spice-core.c | 15 ---------------
5 files changed, 23 insertions(+), 32 deletions(-)
--
2.38.1
1 year, 11 months
[libvirt PATCHv2 0/2] add external backend for tpm
by Ján Tomko
v2: add more chardev-like attributes to the source
https://bugzilla.redhat.com/show_bug.cgi?id=2063723
Ján Tomko (2):
qemu: add external backend for tpm
qemu: add tests for external swtpm
src/conf/domain_audit.c | 11 +++++
src/conf/domain_conf.c | 35 ++++++++++++++++
src/conf/domain_conf.h | 4 ++
src/conf/domain_validate.c | 15 +++++++
src/conf/schemas/domaincommon.rng | 22 ++++++++++
src/qemu/qemu_capabilities.c | 4 +-
src/qemu/qemu_cgroup.c | 1 +
src/qemu/qemu_command.c | 11 ++++-
src/qemu/qemu_domain.c | 4 ++
src/qemu/qemu_namespace.c | 1 +
src/qemu/qemu_tpm.c | 2 +
src/security/security_dac.c | 2 +
src/security/security_selinux.c | 2 +
.../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 +
.../qemu_5.0.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 +
.../qemu_5.2.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 +
.../qemu_6.0.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 +
.../qemu_6.2.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 +
.../qemu_7.0.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 1 +
.../tpm-external.x86_64-latest.args | 36 +++++++++++++++++
tests/qemuxml2argvdata/tpm-external.xml | 40 +++++++++++++++++++
tests/qemuxml2argvtest.c | 1 +
.../tpm-external.x86_64-latest.xml | 1 +
tests/qemuxml2xmltest.c | 1 +
63 files changed, 236 insertions(+), 2 deletions(-)
create mode 100644 tests/qemuxml2argvdata/tpm-external.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/tpm-external.xml
create mode 120000 tests/qemuxml2xmloutdata/tpm-external.x86_64-latest.xml
--
2.38.1
1 year, 11 months
[libvirt PATCH] qemu: tpm: fix spacing
by Ján Tomko
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
---
Pushed as trivial
src/qemu/qemu_tpm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c
index 0939f64e4e..36d5beb202 100644
--- a/src/qemu/qemu_tpm.c
+++ b/src/qemu/qemu_tpm.c
@@ -213,7 +213,7 @@ qemuTPMEmulatorCreateStorage(virDomainTPMDef *tpm,
static void
qemuTPMEmulatorDeleteStorage(virDomainTPMDef *tpm)
{
- g_autofree char *path = g_path_get_dirname(tpm->data.emulator.storagepath);
+ g_autofree char *path = g_path_get_dirname(tpm->data.emulator.storagepath);
ignore_value(virFileDeleteTree(path));
}
--
2.38.1
1 year, 11 months
[libvirt PATCH 0/2] spec: List more directories
by Andrea Bolognani
%blurb
Andrea Bolognani (2):
spec: Add trailing backslash
spec: List more directories
libvirt.spec.in | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--
2.38.1
1 year, 11 months
[libvirt PATCH 00/30] introduce external snapshot delete support
by Pavel Hrdina
This implements virDomainSnapshotDelete API to support external
snapshots. The support doesn't include flags
VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN and
VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN_ONLY as it would add more complexity
and IMHO these flags should not existed at all.
Gitlab repo with the patches:
https://gitlab.com/phrdina/libvirt/-/commits/snapshot-delete-external
Pavel Hrdina (30):
libvirt: introduce VIR_DOMAIN_JOB_OPERATION_SNAPSHOT_DELETE
qemu_block: extract block commit code to separate function
qemu_block: move qemuDomainBlockPivot out of qemu_driver
qemu_block: add async domain job support to qemuBlockCommit
qemu_block: add async domain job support to qemuBlockPivot
qemu_monitor: introduce qemuMonitorJobFinalize
qemu_monitor_json: allow configuring autofinalize for block commit
qemu_block: allow configuring autofinalize for block commit
qemu_block: introduce qemuBlockFinalize
qemu_block: change qemuBlockCommit to return job pointer
qemu_blockjob: process QEMU_MONITOR_JOB_STATUS_PENDING signal
qemu_snapshot: refactor qemuSnapshotDelete
qemu_snapshot: introduce qemuSnapshotDeleteSingle
qemu_snapshot: introduce qemuSnapshotDeleteChildren
qemu_snapshot: rework snapshot children deletion
qemu_snapshot: move snapshot discard out of qemu_domain.c
qemu_snapshot: move snapshot metadata reparent code
qemu_snapshot: introduce qemuSnapshotDiscardMetadata
qemu_snapshot: introduce qemuSnapshotDeleteValidate function
qemu_snapshot: refactor validation of snapshot delete
qemu_snapshot: error out when deleting internal snapshot on non-active
disk
qemu_snapshot: convert snapshot delete to async domain job
qemu_snapshot: prepare data for external snapshot deletion
qemu_snapshot: implement deletion of external snapshot
qemu_snapshot: update metadata when deleting snapshots
qemu_snapshot: when deleting snapshot invalidate parent snapshot
qemu_process: abort snapshot delete when daemon starts
qemu_snapshot: enable deletion of external snapshots
api: document support for external snapshot deletion
NEWS: document support for external snapshot deletion
NEWS.rst | 6 +
include/libvirt/libvirt-domain.h | 1 +
src/conf/snapshot_conf.c | 6 +
src/conf/snapshot_conf.h | 1 +
src/libvirt-domain-snapshot.c | 7 +
src/qemu/qemu_backup.c | 1 +
src/qemu/qemu_block.c | 336 +++++++++++
src/qemu/qemu_block.h | 22 +
src/qemu/qemu_blockjob.c | 20 +-
src/qemu/qemu_blockjob.h | 1 +
src/qemu/qemu_domain.c | 95 +--
src/qemu/qemu_domain.h | 9 -
src/qemu/qemu_driver.c | 292 +---------
src/qemu/qemu_monitor.c | 21 +-
src/qemu/qemu_monitor.h | 8 +-
src/qemu/qemu_monitor_json.c | 26 +-
src/qemu/qemu_monitor_json.h | 8 +-
src/qemu/qemu_process.c | 32 ++
src/qemu/qemu_snapshot.c | 956 ++++++++++++++++++++++++++++---
src/qemu/qemu_snapshot.h | 4 +
tests/qemumonitorjsontest.c | 4 +-
tools/virsh-domain.c | 1 +
22 files changed, 1381 insertions(+), 476 deletions(-)
--
2.38.1
1 year, 11 months
[PATCH] virnuma: Allow multiple nodes for preferred policy
by Michal Privoznik
In the past, the preferred policy
(VIR_DOMAIN_NUMATUNE_MEM_PREFERRED) required exactly one (host)
NUMA node. This made sense because:
1) the libnuma API - numa_set_preferred() allowed exactly one
node, because
2) corresponding kernel syscall (__NR_set_mempolicy) accepted
exactly one node (for MPOL_PREFERRED mode).
But things have changed since then. Firstly, kernel introduced
new MPOL_PREFERRED_MANY mode (v5.15-rc1~107^2~21) which was then
exposed in libnuma as numa_set_preferred_many() (v2.0.15~24).
Fortunately, libnuma also exposes numa_has_preferred_many() which
returns whether the kernel has support for the new mode (1) or
not (0).
Putting this all together, we can lift our check for sufficiently
new kernel and libnuma.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2151064
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
meson.build | 3 +++
src/util/virnuma.c | 25 +++++++++++++++++++++++--
2 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index f9834a36c2..c26778a68d 100644
--- a/meson.build
+++ b/meson.build
@@ -1103,6 +1103,9 @@ endif
numactl_dep = cc.find_library('numa', required: get_option('numactl'))
if numactl_dep.found()
conf.set('WITH_NUMACTL', 1)
+ if cc.has_function('numa_set_preferred_many', dependencies: numactl_dep)
+ conf.set('WITH_NUMACTL_SET_PREFERRED_MANY', 1)
+ endif
endif
openwsman_version = '2.6.3'
diff --git a/src/util/virnuma.c b/src/util/virnuma.c
index 2306ab0cb1..43e299f4bb 100644
--- a/src/util/virnuma.c
+++ b/src/util/virnuma.c
@@ -93,7 +93,6 @@ virNumaSetupMemoryPolicy(virDomainNumatuneMemMode mode,
virBitmap *nodeset)
{
nodemask_t mask;
- int node = -1;
int bit = 0;
size_t i;
int maxnode = 0;
@@ -128,7 +127,19 @@ virNumaSetupMemoryPolicy(virDomainNumatuneMemMode mode,
case VIR_DOMAIN_NUMATUNE_MEM_PREFERRED:
{
+# ifdef WITH_NUMACTL_SET_PREFERRED_MANY
+ struct bitmask *bitmask = NULL;
+# endif
+ int G_GNUC_UNUSED node = -1;
int nnodes = 0;
+ bool has_preferred_many = false;
+
+# ifdef WITH_NUMACTL_SET_PREFERRED_MANY
+ if (numa_has_preferred_many() > 0) {
+ has_preferred_many = true;
+ }
+# endif
+
for (i = 0; i < NUMA_NUM_NODES; i++) {
if (nodemask_isset(&mask, i)) {
node = i;
@@ -136,15 +147,25 @@ virNumaSetupMemoryPolicy(virDomainNumatuneMemMode mode,
}
}
- if (nnodes != 1) {
+ if (!has_preferred_many && nnodes != 1) {
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("NUMA memory tuning in 'preferred' mode "
"only supports single node"));
return -1;
}
+ /* The following automatically sets MPOL_PREFERRED_MANY
+ * whenever possible, so no need to special case it. */
numa_set_bind_policy(0);
+
+# ifdef WITH_NUMACTL_SET_PREFERRED_MANY
+ bitmask = numa_bitmask_alloc(maxnode + 1);
+ copy_nodemask_to_bitmask(&mask, bitmask);
+ numa_set_preferred_many(bitmask);
+ numa_bitmask_free(bitmask);
+# else
numa_set_preferred(node);
+# endif
}
break;
--
2.37.4
1 year, 11 months
[PATCH] tests: qemucapabilitiesdata: Final update of qemu-7.2 capabilities on x86
by Peter Krempa
QEMU 7.2 was released, update the capabilities data to the final state.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies | 6 +++---
tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies
index 47203b8923..18f70a5a3f 100644
--- a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies
@@ -17,11 +17,11 @@
{
"return": {
"qemu": {
- "micro": 91,
- "minor": 1,
+ "micro": 0,
+ "minor": 2,
"major": 7
},
- "package": "v7.2.0-rc1"
+ "package": "v7.2.0"
},
"id": "libvirt-2"
}
diff --git a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
index 6bc739065f..821fcd3199 100644
--- a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
@@ -201,10 +201,10 @@
<flag name='query-stats-schemas'/>
<flag name='thread-context'/>
<flag name='screenshot-format-png'/>
- <version>7001091</version>
+ <version>7002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100245</microcodeVersion>
- <package>v7.2.0-rc1</package>
+ <package>v7.2.0</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>
<property name='vmx-entry-load-rtit-ctl' type='boolean' value='false'/>
--
2.38.1
1 year, 11 months