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 8ae690f..c7b8045 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -1113,8 +1113,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);
@@ -1189,8 +1193,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);
--
1.8.1.4