From 464d4e559c68a795a6439e3f558a9182ec9b97b4 Mon Sep 17 00:00:00 2001 From: Osier Yang Date: Fri, 5 Apr 2013 03:38:01 +0800 Subject: [PATCH] qemu: Support shareable volume type disk Since the source is already translated before. This just adds the checking. Move !disk->shared and !disk->src to improve the performance a bit. --- src/qemu/qemu_conf.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index 3b881b1f7f..54d5ad64b0 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -1095,8 +1095,12 @@ qemuAddSharedDisk(virQEMUDriverPtr driver, * for the shared disk is "sgio" setting, which is only * valid for block disk. */ - if (disk->type != VIR_DOMAIN_DISK_TYPE_BLOCK || - !disk->shared || !disk->src) + if (!disk->shared || + !disk->src || + (disk->type != VIR_DOMAIN_DISK_TYPE_BLOCK && + !(disk->type == VIR_DOMAIN_DISK_TYPE_VOLUME && + disk->srcpool && + disk->srcpool->voltype == VIR_STORAGE_VOL_BLOCK))) return 0; qemuDriverLock(driver); @@ -1171,8 +1175,12 @@ qemuRemoveSharedDisk(virQEMUDriverPtr driver, int ret = -1; int idx; - if (disk->type != VIR_DOMAIN_DISK_TYPE_BLOCK || - !disk->shared || !disk->src) + if (!disk->shared || + !disk->src || + (disk->type != VIR_DOMAIN_DISK_TYPE_BLOCK && + !(disk->type == VIR_DOMAIN_DISK_TYPE_VOLUME && + disk->srcpool && + disk->srcpool->voltype == VIR_STORAGE_VOL_BLOCK))) return 0; qemuDriverLock(driver);