From 6f5980ee3939f2df378cc625ace3e212d2e3bc95 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 22 Feb 2021 17:55:01 +0100 Subject: [PATCH] qemuBlockReopenFormat: Extract @src handling and monitor invocation This will simplify testing of the blockdev-reopen code once it's enabled. Signed-off-by: Peter Krempa Reviewed-by: Pavel Hrdina --- 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 1bcf7fa4f1..0015a8ee11 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -3286,6 +3286,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 @@ -3303,7 +3319,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 @@ -3314,13 +3329,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.47.2