This will simplify testing of the blockdev-reopen code once it's
enabled.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/qemu/qemu_block.c | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
index 6627d044cd..c96be8b52d 100644
--- a/src/qemu/qemu_block.c
+++ b/src/qemu/qemu_block.c
@@ -3299,6 +3299,22 @@ qemuBlockBitmapsHandleCommitFinish(virStorageSource *topsrc,
}
+static int
+qemuBlockReopenFormatMon(qemuMonitor *mon,
+ virStorageSource *src)
+{
+ g_autoptr(virJSONValue) reopenprops = NULL;
+
+ if (!(reopenprops = qemuBlockStorageSourceGetBlockdevProps(src,
src->backingStore)))
+ return -1;
+
+ if (qemuMonitorBlockdevReopen(mon, &reopenprops) < 0)
+ return -1;
+
+ return 0;
+}
+
+
/**
* qemuBlockReopenFormat:
* @vm: domain object
@@ -3316,7 +3332,6 @@ qemuBlockReopenFormat(virDomainObj *vm,
{
qemuDomainObjPrivate *priv = vm->privateData;
virQEMUDriver *driver = priv->driver;
- g_autoptr(virJSONValue) reopenprops = NULL;
int rc;
/* If we are lacking the object here, qemu might have opened an image with
@@ -3327,13 +3342,10 @@ qemuBlockReopenFormat(virDomainObj *vm,
return -1;
}
- if (!(reopenprops = qemuBlockStorageSourceGetBlockdevProps(src,
src->backingStore)))
- return -1;
-
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
return -1;
- rc = qemuMonitorBlockdevReopen(priv->mon, &reopenprops);
+ rc = qemuBlockReopenFormatMon(priv->mon, src);
if (qemuDomainObjExitMonitor(driver, vm) < 0 || rc < 0)
return -1;
--
2.31.1