Re: [libvirt] [PATCH v3 1/4] qemu: block: propagate the delete flag to where it can actually be used

2019-12-03 Thread Peter Krempa
On Thu, Nov 21, 2019 at 11:00:44 +0100, Pavel Mores wrote:
> Propagate the delete flag from qemuDomainBlockCommit() (which was just
> ignoring it until now) to qemuBlockJobDiskNewCommit() where it can be
> stored in the qemuBlockJobCommitData structure which holds information
> necessary to finish the job asynchronously.
> 
> In the actual qemuBlockJobDiskNewCommit() in this commit, we temporarily
> pass a literal 'false' to preserve the current behaviour until the whole
> implementation of the feature is in place.
> 
> Signed-off-by: Pavel Mores 
> ---
>  src/qemu/qemu_blockjob.c | 4 +++-
>  src/qemu/qemu_blockjob.h | 4 +++-
>  src/qemu/qemu_driver.c   | 2 +-
>  3 files changed, 7 insertions(+), 3 deletions(-)

ACK

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list



[libvirt] [PATCH v3 1/4] qemu: block: propagate the delete flag to where it can actually be used

2019-11-21 Thread Pavel Mores
Propagate the delete flag from qemuDomainBlockCommit() (which was just
ignoring it until now) to qemuBlockJobDiskNewCommit() where it can be
stored in the qemuBlockJobCommitData structure which holds information
necessary to finish the job asynchronously.

In the actual qemuBlockJobDiskNewCommit() in this commit, we temporarily
pass a literal 'false' to preserve the current behaviour until the whole
implementation of the feature is in place.

Signed-off-by: Pavel Mores 
---
 src/qemu/qemu_blockjob.c | 4 +++-
 src/qemu/qemu_blockjob.h | 4 +++-
 src/qemu/qemu_driver.c   | 2 +-
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c
index 5c294f8024..7d94a6ce38 100644
--- a/src/qemu/qemu_blockjob.c
+++ b/src/qemu/qemu_blockjob.c
@@ -250,7 +250,8 @@ qemuBlockJobDiskNewCommit(virDomainObjPtr vm,
   virDomainDiskDefPtr disk,
   virStorageSourcePtr topparent,
   virStorageSourcePtr top,
-  virStorageSourcePtr base)
+  virStorageSourcePtr base,
+  bool delete_imgs)
 {
 qemuDomainObjPrivatePtr priv = vm->privateData;
 g_autoptr(qemuBlockJobData) job = NULL;
@@ -273,6 +274,7 @@ qemuBlockJobDiskNewCommit(virDomainObjPtr vm,
 job->data.commit.topparent = topparent;
 job->data.commit.top = top;
 job->data.commit.base = base;
+job->data.commit.deleteCommittedImages = delete_imgs;
 
 if (qemuBlockJobRegister(job, vm, disk, true) < 0)
 return NULL;
diff --git a/src/qemu/qemu_blockjob.h b/src/qemu/qemu_blockjob.h
index d8da918f2f..d77f1dcdb3 100644
--- a/src/qemu/qemu_blockjob.h
+++ b/src/qemu/qemu_blockjob.h
@@ -85,6 +85,7 @@ struct _qemuBlockJobCommitData {
 virStorageSourcePtr topparent;
 virStorageSourcePtr top;
 virStorageSourcePtr base;
+bool deleteCommittedImages;
 };
 
 
@@ -165,7 +166,8 @@ qemuBlockJobDiskNewCommit(virDomainObjPtr vm,
   virDomainDiskDefPtr disk,
   virStorageSourcePtr topparent,
   virStorageSourcePtr top,
-  virStorageSourcePtr base);
+  virStorageSourcePtr base,
+  bool delete_imgs);
 
 qemuBlockJobDataPtr
 qemuBlockJobNewCreate(virDomainObjPtr vm,
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index dc14ec86a3..a3ff4b2177 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -18638,7 +18638,7 @@ qemuDomainBlockCommit(virDomainPtr dom,
 goto endjob;
 
 if (!(job = qemuBlockJobDiskNewCommit(vm, disk, top_parent, topSource,
-  baseSource)))
+  baseSource, false)))
 goto endjob;
 
 disk->mirrorState = VIR_DOMAIN_DISK_MIRROR_STATE_NONE;
-- 
2.21.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list