]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: extend filesystem XML validation
authorJán Tomko <jtomko@redhat.com>
Wed, 20 Sep 2023 15:17:08 +0000 (17:17 +0200)
committerJán Tomko <jtomko@redhat.com>
Mon, 25 Sep 2023 12:24:20 +0000 (14:24 +0200)
Reject readonly argument for virtiofs and quotas for all filesystems.

https://issues.redhat.com/browse/RHEL-4994
https://issues.redhat.com/browse/RHEL-4432

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
src/qemu/qemu_validate.c

index 8d2927af6032c8670df6c31089ec47d1ff343773..93df9e4c8eca497c5363fb7d8b5b91ff31926085 100644 (file)
@@ -4264,6 +4264,13 @@ qemuValidateDomainDeviceDefFS(virDomainFSDef *fs,
                        _("only supports mount filesystem type"));
         return -1;
     }
+
+    if (fs->space_hard_limit > 0 || fs->space_soft_limit > 0) {
+        virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                       _("filesystem usage limits are not supported with QEMU"));
+        return -1;
+    }
+
     if (fs->multidevs != VIR_DOMAIN_FS_MULTIDEVS_DEFAULT &&
         !virQEMUCapsGet(qemuCaps, QEMU_CAPS_FSDEV_MULTIDEVS)) {
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
@@ -4330,6 +4337,12 @@ qemuValidateDomainDeviceDefFS(virDomainFSDef *fs,
             }
         }
 
+        if (fs->readonly) {
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                           _("virtiofs does not support read-only access"));
+            return -1;
+        }
+
         if (fs->model != VIR_DOMAIN_FS_MODEL_DEFAULT) {
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                            _("virtiofs does not support model"));