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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list