Re: [libvirt] [PATCHv2 39/62] qemu: driver: Prepare qemuDomainBlockResize for blockdev

2018-08-16 Thread Ján Tomko

On Mon, Aug 13, 2018 at 06:00:13PM +0200, Peter Krempa wrote:

Use the nodename to resize the device rather than the drive alias.

Signed-off-by: Peter Krempa 
---
src/qemu/qemu_driver.c | 18 +++---
1 file changed, 15 insertions(+), 3 deletions(-)



Reviewed-by: Ján Tomko 

Jano


signature.asc
Description: Digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

[libvirt] [PATCHv2 39/62] qemu: driver: Prepare qemuDomainBlockResize for blockdev

2018-08-13 Thread Peter Krempa
Use the nodename to resize the device rather than the drive alias.

Signed-off-by: Peter Krempa 
---
 src/qemu/qemu_driver.c | 18 +++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index fb09278112..f745a0392a 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -10945,6 +10945,7 @@ qemuDomainBlockResize(virDomainPtr dom,
 qemuDomainObjPrivatePtr priv;
 int ret = -1;
 char *device = NULL;
+const char *nodename = NULL;
 virDomainDiskDefPtr disk = NULL;

 virCheckFlags(VIR_DOMAIN_BLOCK_RESIZE_BYTES, -1);
@@ -10987,11 +10988,22 @@ qemuDomainBlockResize(virDomainPtr dom,
 disk->src->format == VIR_STORAGE_FILE_QED)
 size = VIR_ROUND_UP(size, 512);

-if (!(device = qemuAliasDiskDriveFromDisk(disk)))
-goto endjob;
+if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) {
+if (virStorageSourceIsEmpty(disk->src) || disk->src->readonly) {
+virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
+   _("can't resize empty or readonly disk '%s'"),
+   disk->dst);
+goto endjob;
+}
+
+nodename = disk->src->nodeformat;
+} else {
+if (!(device = qemuAliasDiskDriveFromDisk(disk)))
+goto endjob;
+}

 qemuDomainObjEnterMonitor(driver, vm);
-if (qemuMonitorBlockResize(priv->mon, device, NULL, size) < 0) {
+if (qemuMonitorBlockResize(priv->mon, device, nodename, size) < 0) {
 ignore_value(qemuDomainObjExitMonitor(driver, vm));
 goto endjob;
 }
-- 
2.16.2

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