The moved code contains only checks and does not modify the parsed
document so it doesn't belong into the PostParse code.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/conf/domain_conf.c | 19 -------------------
src/conf/domain_validate.c | 18 ++++++++++++++++++
2 files changed, 18 insertions(+), 19 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 0738bf7f1f..ce0931c160 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -5367,25 +5367,6 @@ virDomainDiskDefPostParse(virDomainDiskDef *disk,
const virDomainDef *def,
virDomainXMLOption *xmlopt)
{
- /* internal snapshots and config files are currently supported
- * only with rbd: */
- if (virStorageSourceGetActualType(disk->src) != VIR_STORAGE_TYPE_NETWORK
&&
- disk->src->protocol != VIR_STORAGE_NET_PROTOCOL_RBD) {
- if (disk->src->snapshot) {
- virReportError(VIR_ERR_XML_ERROR, "%s",
- _("<snapshot> element is currently supported
"
- "only with 'rbd' disks"));
- return -1;
- }
-
- if (disk->src->configFile) {
- virReportError(VIR_ERR_XML_ERROR, "%s",
- _("<config> element is currently supported "
- "only with 'rbd' disks"));
- return -1;
- }
- }
-
if (disk->src->type == VIR_STORAGE_TYPE_NETWORK &&
disk->src->protocol == VIR_STORAGE_NET_PROTOCOL_ISCSI) {
virDomainPostParseCheckISCSIPath(&disk->src->path);
diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c
index b2780b3562..5118d6a25e 100644
--- a/src/conf/domain_validate.c
+++ b/src/conf/domain_validate.c
@@ -469,6 +469,24 @@ virDomainDiskDefValidateSourceChainOne(const virStorageSource *src)
}
}
+ /* internal snapshots and config files are currently supported only with rbd: */
+ if (virStorageSourceGetActualType(src) != VIR_STORAGE_TYPE_NETWORK &&
+ src->protocol != VIR_STORAGE_NET_PROTOCOL_RBD) {
+ if (src->snapshot) {
+ virReportError(VIR_ERR_XML_ERROR, "%s",
+ _("<snapshot> element is currently supported
"
+ "only with 'rbd' disks"));
+ return -1;
+ }
+
+ if (src->configFile) {
+ virReportError(VIR_ERR_XML_ERROR, "%s",
+ _("<config> element is currently supported "
+ "only with 'rbd' disks"));
+ return -1;
+ }
+ }
+
return 0;
}
--
2.30.2