From 9c58b6eb0090b978f44299b22ff4f8d3be3a240f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Wed, 13 May 2020 10:52:36 +0200 Subject: [PATCH] qemu: reject readonly attribute for virtiofs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is not yet supported by virtiofsd. Fixes #23 a.k.a. https://gitlab.com/libvirt/libvirt/-/issues/23 Signed-off-by: Ján Tomko Reviewed-by: Daniel P. Berrangé Reviewed-by: Andrea Bolognani --- src/qemu/qemu_validate.c | 5 +++ .../vhost-user-fs-readonly.xml | 44 +++++++++++++++++++ tests/qemuxml2argvtest.c | 1 + 3 files changed, 50 insertions(+) create mode 100644 tests/qemuxml2argvdata/vhost-user-fs-readonly.xml diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index fde1892d42..584d1375b8 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -3418,6 +3418,11 @@ qemuValidateDomainDeviceDefFS(virDomainFSDefPtr fs, return -1; case VIR_DOMAIN_FS_DRIVER_TYPE_VIRTIOFS: + if (fs->readonly) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("virtiofs does not yet support read-only mode")); + return -1; + } if (!driver->privileged) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("virtiofs is not yet supported in session mode")); diff --git a/tests/qemuxml2argvdata/vhost-user-fs-readonly.xml b/tests/qemuxml2argvdata/vhost-user-fs-readonly.xml new file mode 100644 index 0000000000..003ed41eb3 --- /dev/null +++ b/tests/qemuxml2argvdata/vhost-user-fs-readonly.xml @@ -0,0 +1,44 @@ + + guest + 126f2720-6f8e-45ab-a886-ec9277079a67 + 14680064 + 14680064 + + + + + 2 + + hvm + + + + qemu64 + + + + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + + + + + + + + + + + +
+ + + + + + diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 4ab664a846..43e76956cc 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -3171,6 +3171,7 @@ mymain(void) DO_TEST_CAPS_LATEST("vhost-user-fs-fd-memory"); DO_TEST_CAPS_LATEST("vhost-user-fs-hugepages"); + DO_TEST_CAPS_LATEST_PARSE_ERROR("vhost-user-fs-readonly"); DO_TEST("riscv64-virt", QEMU_CAPS_DEVICE_VIRTIO_MMIO); -- GitLab