When a disk-only snapshot is requested the domain is treated as if it
was offline. This forbids to mix memory checkpoints with the DISK_ONLY
flag.
This patch improves the error message and mentions the restriction in
the virsh man page.
---
Note: this is techicaly a v2 as I've redone it after checking the code
again after Eric's review. Difference to the previous version:
- The check for --memspec and --disk-only together was removed from virsh
- Error message while parsing the xml was improved
src/conf/snapshot_conf.c | 3 ++-
tools/virsh.pod | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c
index 0c5b005..fe77bd0 100644
--- a/src/conf/snapshot_conf.c
+++ b/src/conf/snapshot_conf.c
@@ -309,7 +309,8 @@ virDomainSnapshotDefParseString(const char *xmlStr,
if (offline && def->memory &&
def->memory != VIR_DOMAIN_SNAPSHOT_LOCATION_NONE) {
virReportError(VIR_ERR_XML_ERROR, "%s",
- _("memory state cannot be saved with offline
snapshot"));
+ _("memory state cannot be saved with offline or "
+ "disk-only snapshot"));
goto cleanup;
}
def->file = memoryFile;
diff --git a/tools/virsh.pod b/tools/virsh.pod
index fd0f762..ec1772d 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -2749,7 +2749,8 @@ The I<--memspec> option can be used to control whether a
checkpoint
is internal or external. The I<--memspec> flag is mandatory, followed
by a B<memspec> of the form B<[file=]name[,snapshot=type]>, where
type can be B<none>, B<internal>, or B<external>. To include a
literal
-comma in B<file=name>, escape it with a second comma.
+comma in B<file=name>, escape it with a second comma. I<--memspec> cannot
+be used together with I<--disk-only>.
The I<--diskspec> option can be used to control how I<--disk-only> and
external checkpoints create external files. This option can occur
--
1.8.1.1