use multifd to restore parallel saves.
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_driver.c| 10 +++-
src/qemu/qemu_migration.c | 2 +-
src/qemu/qemu_migration.h | 6 ++
src/qemu/qemu_saveimage.c | 119 +-
src/qemu/qemu_saveimage.h | 8 ++-
5 f
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_driver.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 864825960d..4374728112 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -2812,6 +2812,7 @@ qe
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_driver.c| 11 ++-
src/qemu/qemu_saveimage.c | 1 +
src/qemu/qemu_saveimage.h | 1 +
src/qemu/qemu_snapshot.c | 2 +-
4 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
inde
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_saveimage.c | 17 +
1 file changed, 17 insertions(+)
diff --git a/src/qemu/qemu_saveimage.c b/src/qemu/qemu_saveimage.c
index df273eba66..eed52140ed 100644
--- a/src/qemu/qemu_saveimage.c
+++ b/src/qemu/qemu_saveimage.c
@@ -649,6 +
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_migration.c | 17 +
src/qemu/qemu_migration.h | 2 +-
src/qemu/qemu_saveimage.c | 19 ++-
3 files changed, 28 insertions(+), 10 deletions(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index
add it to both capabilities and migration parameters
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_migration_params.c | 2 ++
src/qemu/qemu_migration_params.h
Signed-off-by: Claudio Fontana
---
docs/manpages/virsh.rst | 23 +--
tools/virsh-domain.c| 24 ++--
2 files changed, 39 insertions(+), 8 deletions(-)
diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst
index e73e590754..e9012b85d1 100644
---
Signed-off-by: Claudio Fontana
---
include/libvirt/libvirt-domain.h | 11 +++
1 file changed, 11 insertions(+)
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index 8bedeaff30..7628968e46 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt
this completes the save side of the parallel compression support.
Signed-off-by: Claudio Fontana
---
docs/manpages/virsh.rst | 4
tools/virsh-domain.c| 12
2 files changed, 16 insertions(+)
diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst
index dee748d870..5
Signed-off-by: Claudio Fontana
---
docs/manpages/virsh.rst | 12 ++--
tools/virsh-domain.c| 10 +-
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst
index e9012b85d1..dee748d870 100644
--- a/docs/manpages/virsh.rs
change from static to external linkage, and move the
function close to the other similar ones, near
qemuMigrationParamsSetULL.
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_migration_params.c | 47 +++-
src/qemu/qemu_migration_params.h | 5
2 files changed, 2
similarly to qemuMigrationParamsSetULL, we need to be able to
set fields from qemu_saveimage.
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_migration_params.c | 22 ++
src/qemu/qemu_migration_params.h | 9 +
2 files changed, 31 insertions(+)
diff --git a/src/qemu
add both multifd compression and number of multifd channels
fields in the same commit, in order to change the format to
version 3 in one go.
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_saveimage.c | 19 ++-
src/qemu/qemu_saveimage.h | 8 +---
2 files changed, 23 inserti
add APIs to Create, Close and Free MultiFD files to associate with
multifd channels.
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_saveimage.c | 97 +++
src/qemu/qemu_saveimage.h | 11 +
2 files changed, 108 insertions(+)
diff --git a/src/qemu/qemu_sav
Signed-off-by: Claudio Fontana
---
tools/virsh-domain.c | 32 ++--
1 file changed, 22 insertions(+), 10 deletions(-)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index a3b0749fa9..2d90fba9b7 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -
This is v8 of the multifd save prototype, which fixes a few bugs,
adds a few more code splits, and records the number of channels
as well as the compression algorithm, so the restore command is
more user-friendly.
It is now possible to just say:
virsh save mydomain /mnt/saves/mysave --parallel
v
The distinction on whether to wait for the migration completion
or not was made on the async job type,
but with the future addition of multifd migration from files,
we need a way to avoid waiting, so we can prepare multifd
migration parameters before starting the transfers.
Adapt all callers.
Si
For the save direction, this helper listens on a unix socket
which QEMU connects to for multifd migration to files.
For the restore direction, this helper connects to a unix socket
QEMU listens at for multifd migration from files.
The file descriptors are passed as command line parameters.
Signe
use the multifd helper and the new virQEMUSaveFd APIs for multifd.
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_saveimage.c | 42 ---
1 file changed, 39 insertions(+), 3 deletions(-)
diff --git a/src/qemu/qemu_saveimage.c b/src/qemu/qemu_saveimage.c
index
implement a function similar to qemuMigrationSrcToFile
that migrates to multiple files using QEMU multifd.
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_migration.c | 131 +-
src/qemu/qemu_migration.h | 7 ++
src/qemu/qemu_saveimage.c | 9 ++-
3 files c
in order to enable parallel save functionality, we will need
an opportune new flag and a parameter to specify the number
of extra connections to use.
Signed-off-by: Claudio Fontana
---
include/libvirt/libvirt-domain.h | 18 ++
1 file changed, 18 insertions(+)
diff --git a/includ
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_capabilities.c | 4
src/qemu/qemu_capabilities.h | 3 +++
tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/ca
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_driver.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 78cc0cef4f..ce399cd197 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -5834,7 +5834,8 @@ qemuD
now that we introduced virQEMUSaveFd, use it in the creation of a
new save image.
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_saveimage.c | 54 +++
1 file changed, 15 insertions(+), 39 deletions(-)
diff --git a/src/qemu/qemu_saveimage.c b/src/qemu/qemu_s
Signed-off-by: Claudio Fontana
---
tools/virsh-domain.c | 23 +--
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index ba492e807e..a3b0749fa9 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -4203,6 +42
use this data type to encapsulate the pathname,
file descriptor, wrapper, and need to unlink.
This will make management of the resources associated
with an FD used for QEMU save/restore much easier,
reducing the amount of explicit cleanup required.
Signed-off-by: Claudio Fontana
---
src/qemu/qe
all the logic to open a fd, create a wrapper etc, is boilerplate
code that is best reused, so change the Open function to take
an existing already initialized virQEMUSaveFd.
Adapt all callers of qemuSaveImageOpen.
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_driver.c| 101 ++
and its companion param VIR_SAVE_PARAM_PARALLEL_CONNECTIONS
Signed-off-by: Claudio Fontana
---
src/qemu/qemu_driver.c| 17 +++--
src/qemu/qemu_saveimage.c | 1 +
src/qemu/qemu_saveimage.h | 1 +
src/qemu/qemu_snapshot.c | 2 +-
4 files changed, 14 insertions(+), 7 deletions(-
On 5/6/22 3:11 PM, Claudio Fontana wrote:
> all the logic to open a fd, create a wrapper etc, is boilerplate
> code that is best reused, so change the Open function to take
> an existing already initialized virQEMUSaveFd.
>
> Adapt all callers of qemuSaveImageOpen.
>
> Signed-off-by: Claudio Font
From: zhangjl02
Add virDomainPostParseDataDefEmulator typedef. Add a definition callback into
_virDomainDefParserConfig.
Signed-off-by: zhangjl02
---
src/conf/domain_conf.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 88a411d00c..8
From: zhangjl02
qemuDomainPostParseDataDefEmulator will try to get default emulator based on
guest's arch from capabilities, and replace the emulator in definition.
Signed-off-by: zhangjl02
---
src/qemu/qemu_domain.c | 18 ++
1 file changed, 18 insertions(+)
diff --git a/src/q
From: zhangjl02
When emulator is not found on host, domainPostParseDataAlloc will return 1,
and the domain will fail to start. Call domainPostParseDataDefEmulator to
replace emulator with the default one of guest's arch, and try to alloc again
after domainPostParseDataAlloc's failure. This will i
Get default emulator based on guest's arch, and replace it in domain's
definition after domainPostParseDataAlloc's failure, then alloc again.
This will solve the migration problem because of qemu emulator location error,
especially, from host with to host without qemu-kvm.
This commit will also all
33 matches
Mail list logo