]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: fs: fill out accessmode in post-parse
authorJán Tomko <jtomko@redhat.com>
Mon, 7 Sep 2020 15:01:16 +0000 (17:01 +0200)
committerJán Tomko <jtomko@redhat.com>
Wed, 21 Apr 2021 13:48:01 +0000 (15:48 +0200)
Move the default setting of accessmode to the post-parse phase.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/domain_conf.c
src/conf/domain_conf.h

index 9a0d1f9285fdd191be1e37f00095060b8c604146..508d4bfc326974852076aaa697cc3f81a426d3dd 100644 (file)
@@ -505,6 +505,7 @@ VIR_ENUM_IMPL(virDomainFSDriver,
 
 VIR_ENUM_IMPL(virDomainFSAccessMode,
               VIR_DOMAIN_FS_ACCESSMODE_LAST,
+              "",
               "passthrough",
               "mapped",
               "squash",
@@ -5512,6 +5513,16 @@ virDomainMemoryDefPostParse(virDomainMemoryDef *mem,
 }
 
 
+static int
+virDomainFSDefPostParse(virDomainFSDef *fs)
+{
+    if (fs->accessmode == VIR_DOMAIN_FS_ACCESSMODE_DEFAULT)
+        fs->accessmode = VIR_DOMAIN_FS_ACCESSMODE_PASSTHROUGH;
+
+    return 0;
+}
+
+
 static int
 virDomainDeviceDefPostParseCommon(virDomainDeviceDef *dev,
                                   const virDomainDef *def,
@@ -5557,8 +5568,11 @@ virDomainDeviceDefPostParseCommon(virDomainDeviceDef *dev,
         ret = virDomainMemoryDefPostParse(dev->data.memory, def);
         break;
 
-    case VIR_DOMAIN_DEVICE_LEASE:
     case VIR_DOMAIN_DEVICE_FS:
+        ret = virDomainFSDefPostParse(dev->data.fs);
+        break;
+
+    case VIR_DOMAIN_DEVICE_LEASE:
     case VIR_DOMAIN_DEVICE_NET:
     case VIR_DOMAIN_DEVICE_INPUT:
     case VIR_DOMAIN_DEVICE_SOUND:
@@ -10042,7 +10056,7 @@ virDomainFSDefParseXML(virDomainXMLOption *xmlopt,
             goto error;
         }
     } else {
-        def->accessmode = VIR_DOMAIN_FS_ACCESSMODE_PASSTHROUGH;
+        def->accessmode = VIR_DOMAIN_FS_ACCESSMODE_DEFAULT;
     }
 
     fmode = virXMLPropString(node, "fmode");
index a17f241c53568ec93680401cf498b61d461d26b1..e808c09ef2c799c716e8d7af34276254b89c7b0e 100644 (file)
@@ -804,6 +804,7 @@ typedef enum {
 
 /* Filesystem mount access mode  */
 typedef enum {
+    VIR_DOMAIN_FS_ACCESSMODE_DEFAULT = 0,
     VIR_DOMAIN_FS_ACCESSMODE_PASSTHROUGH,
     VIR_DOMAIN_FS_ACCESSMODE_MAPPED,
     VIR_DOMAIN_FS_ACCESSMODE_SQUASH,