From: Ján Tomko Date: Mon, 7 Sep 2020 15:01:16 +0000 (+0200) Subject: conf: fs: fill out accessmode in post-parse X-Git-Tag: v7.3.0-rc1~96 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c70fbbbecc2288c7a50ff1d88bbc90eae8738c2a;p=thirdparty%2Flibvirt.git conf: fs: fill out accessmode in post-parse Move the default setting of accessmode to the post-parse phase. Signed-off-by: Ján Tomko Reviewed-by: Michal Privoznik --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 9a0d1f9285..508d4bfc32 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -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"); diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index a17f241c53..e808c09ef2 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -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,