Re: [PATCH 48/80] qemu: driver: Remove pre-blockdev code paths from qemuDomainBlockPivot

2022-08-05 Thread Pavel Hrdina
On Tue, Jul 26, 2022 at 04:37:26PM +0200, Peter Krempa wrote:
> Signed-off-by: Peter Krempa 
> ---
>  src/qemu/qemu_driver.c | 50 +++---
>  1 file changed, 22 insertions(+), 28 deletions(-)

Reviewed-by: Pavel Hrdina 


signature.asc
Description: PGP signature


[PATCH 48/80] qemu: driver: Remove pre-blockdev code paths from qemuDomainBlockPivot

2022-07-26 Thread Peter Krempa
Signed-off-by: Peter Krempa 
---
 src/qemu/qemu_driver.c | 50 +++---
 1 file changed, 22 insertions(+), 28 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index e4caccfbd9..f1fc954f8c 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -14339,9 +14339,9 @@ qemuDomainBlockPivot(virQEMUDriver *driver,
 g_autoptr(qemuBlockStorageSourceChainData) chainattachdata = NULL;
 int ret = -1;
 qemuDomainObjPrivate *priv = vm->privateData;
-bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV);
 g_autoptr(virJSONValue) bitmapactions = NULL;
 g_autoptr(virJSONValue) reopenactions = NULL;
+int rc = 0;

 if (job->state != QEMU_BLOCKJOB_STATE_READY) {
 virReportError(VIR_ERR_BLOCK_COPY_ACTIVE,
@@ -14369,7 +14369,7 @@ qemuDomainBlockPivot(virQEMUDriver *driver,
 return -1;

 case QEMU_BLOCKJOB_TYPE_COPY:
-if (blockdev && !job->jobflagsmissing) {
+if (!job->jobflagsmissing) {
 bool shallow = job->jobflags & VIR_DOMAIN_BLOCK_COPY_SHALLOW;
 bool reuse = job->jobflags & VIR_DOMAIN_BLOCK_COPY_REUSE_EXT;

@@ -14406,41 +14406,35 @@ qemuDomainBlockPivot(virQEMUDriver *driver,
 break;

 case QEMU_BLOCKJOB_TYPE_ACTIVE_COMMIT:
-if (blockdev) {
-bitmapactions = virJSONValueNewArray();
-
-if (qemuMonitorTransactionBitmapAdd(bitmapactions,
-
job->data.commit.base->nodeformat,
-"libvirt-tmp-activewrite",
-false,
-false,
-0) < 0)
-return -1;
-}
+bitmapactions = virJSONValueNewArray();
+
+if (qemuMonitorTransactionBitmapAdd(bitmapactions,
+job->data.commit.base->nodeformat,
+"libvirt-tmp-activewrite",
+false,
+false,
+0) < 0)
+return -1;

 break;
 }

 qemuDomainObjEnterMonitor(driver, vm);
-if (blockdev) {
-int rc = 0;

-if (chainattachdata) {
-if ((rc = qemuBlockStorageSourceChainAttach(priv->mon, 
chainattachdata)) == 0) {
-/* install backing images on success, or unplug them on 
failure */
-if ((rc = qemuMonitorTransaction(priv->mon, )) 
!= 0)
-qemuBlockStorageSourceChainDetach(priv->mon, 
chainattachdata);
-}
+if (chainattachdata) {
+if ((rc = qemuBlockStorageSourceChainAttach(priv->mon, 
chainattachdata)) == 0) {
+/* install backing images on success, or unplug them on failure */
+if ((rc = qemuMonitorTransaction(priv->mon, )) != 0)
+qemuBlockStorageSourceChainDetach(priv->mon, chainattachdata);
 }
+}

-if (bitmapactions && rc == 0)
-ignore_value(qemuMonitorTransaction(priv->mon, ));
+if (bitmapactions && rc == 0)
+ignore_value(qemuMonitorTransaction(priv->mon, ));
+
+if (rc == 0)
+ret = qemuMonitorJobComplete(priv->mon, job->name);

-if (rc == 0)
-ret = qemuMonitorJobComplete(priv->mon, job->name);
-} else {
-ret = qemuMonitorDrivePivot(priv->mon, job->name);
-}
 qemuDomainObjExitMonitor(vm);

 /* The pivot failed. The block job in QEMU remains in the synchronised 
state */
-- 
2.36.1