On Mon, May 28, 2018 at 16:31:47 +0200, Michal Privoznik wrote:
Trying to set any cache for <disk device='lun'/> makes
no sense.
Such disk translates into -device scsi-block on the command line
and the device lacks any cache setting because it's merely a
middle man between qemu and real SCSI device.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_command.c | 5 +++++
1 file changed, 5 insertions(+)
Broken by commit 327430fcfcf34c7b27d9d378df19032fd5d0e451 which was
released in 4.3.0.
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 7408f6bc70..c7ff074e29 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -1824,6 +1824,11 @@ qemuBuildDriveDevCacheStr(virDomainDiskDefPtr disk,
if (disk->cachemode == VIR_DOMAIN_DISK_CACHE_DEFAULT)
return 0;
+ /* VIR_DOMAIN_DISK_DEVICE_LUN translates into 'scsi-block'
+ * where any caching setting makes no sense. */
+ if (disk->device == VIR_DOMAIN_DISK_DEVICE_LUN)
+ return 0;
ACK
+
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DISK_WRITE_CACHE))
return 0;
--
2.16.1