summaryrefslogtreecommitdiff
path: root/src/vmx
diff options
context:
space:
mode:
authorMartin Kletzander <mkletzan@redhat.com>2020-12-21 16:51:31 +0100
committerMartin Kletzander <mkletzan@redhat.com>2021-01-06 02:05:10 +0100
commiteb07c7e56330a01f64d98a8c109ff66b5a6bd1de (patch)
tree61b1d457bdb8ed2158cb610b1638860899d804a8 /src/vmx
parent152be66eafbf824ca1317de60ba0cbee1bc1a98f (diff)
downloadlibvirt-eb07c7e56330a01f64d98a8c109ff66b5a6bd1de.tar.gz
vmx: Allow missing cdrom image file in virVMXParseFileName
This will be used later. Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
Diffstat (limited to 'src/vmx')
-rw-r--r--src/vmx/vmx.c12
-rw-r--r--src/vmx/vmx.h5
2 files changed, 11 insertions, 6 deletions
diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
index 97591842f7..aa5d1d4eed 100644
--- a/src/vmx/vmx.c
+++ b/src/vmx/vmx.c
@@ -2411,7 +2411,7 @@ virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virConfPtr con
}
virDomainDiskSetType(*def, VIR_STORAGE_TYPE_FILE);
- if (ctx->parseFileName(fileName, ctx->opaque, &tmp) < 0)
+ if (ctx->parseFileName(fileName, ctx->opaque, &tmp, false) < 0)
goto cleanup;
virDomainDiskSetSource(*def, tmp);
VIR_FREE(tmp);
@@ -2448,7 +2448,7 @@ virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virConfPtr con
}
virDomainDiskSetType(*def, VIR_STORAGE_TYPE_FILE);
- if (ctx->parseFileName(fileName, ctx->opaque, &tmp) < 0)
+ if (ctx->parseFileName(fileName, ctx->opaque, &tmp, false) < 0)
goto cleanup;
virDomainDiskSetSource(*def, tmp);
VIR_FREE(tmp);
@@ -2515,7 +2515,7 @@ virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virConfPtr con
virDomainDiskSetType(*def, VIR_STORAGE_TYPE_FILE);
if (fileName &&
- ctx->parseFileName(fileName, ctx->opaque, &tmp) < 0)
+ ctx->parseFileName(fileName, ctx->opaque, &tmp, false) < 0)
goto cleanup;
virDomainDiskSetSource(*def, tmp);
VIR_FREE(tmp);
@@ -2977,7 +2977,8 @@ virVMXParseSerial(virVMXContext *ctx, virConfPtr conf, int port,
(*def)->source->type = VIR_DOMAIN_CHR_TYPE_FILE;
if (ctx->parseFileName(fileName,
ctx->opaque,
- &(*def)->source->data.file.path) < 0)
+ &(*def)->source->data.file.path,
+ false) < 0)
goto cleanup;
} else if (STRCASEEQ(fileType, "pipe")) {
/*
@@ -3142,7 +3143,8 @@ virVMXParseParallel(virVMXContext *ctx, virConfPtr conf, int port,
(*def)->source->type = VIR_DOMAIN_CHR_TYPE_FILE;
if (ctx->parseFileName(fileName,
ctx->opaque,
- &(*def)->source->data.file.path) < 0)
+ &(*def)->source->data.file.path,
+ false) < 0)
goto cleanup;
} else {
virReportError(VIR_ERR_INTERNAL_ERROR,
diff --git a/src/vmx/vmx.h b/src/vmx/vmx.h
index e5420c970a..550c1264f3 100644
--- a/src/vmx/vmx.h
+++ b/src/vmx/vmx.h
@@ -36,7 +36,10 @@ virDomainXMLOptionPtr virVMXDomainXMLConfInit(virCapsPtr caps);
* Context
*/
-typedef int (*virVMXParseFileName)(const char *fileName, void *opaque, char **src);
+typedef int (*virVMXParseFileName)(const char *fileName,
+ void *opaque,
+ char **src,
+ bool allow_missing);
typedef char * (*virVMXFormatFileName)(const char *src, void *opaque);
typedef int (*virVMXAutodetectSCSIControllerModel)(virDomainDiskDefPtr def,
int *model, void *opaque);