::
save domain state-file [--bypass-cache] [--xml file]
- [--parallel] [--parallel-channels channels]
+ [--parallel-channels channels]
[{--running | --paused}] [--verbose]
Saves a running domain (RAM, but not disk state) to a state file so that
either the *--running* or *--paused* flag will allow overriding which
state the ``restore`` should use.
-*--parallel* option will cause the save data to be written to file
-over multiple parallel IO channels. The number of channels can be
-specified using *--parallel-channels*. Using parallel IO channels
-requires the use of ``sparse`` image save format. Parallel save may
-significantly reduce the time required to save large memory domains.
+*--parallel-channels* option can specify number of parallel IO channels
+to be used when saving memory to file. Using parallel IO channels requires
+the use of ``sparse`` image save format. Parallel save may significantly
+reduce the time required to save large memory domains.
Domain saved state files assume that disk images will be unchanged
between the creation and restore point. For a more complete system
.type = VSH_OT_BOOL,
.help = N_("avoid file system cache when saving")
},
- {.name = "parallel",
- .type = VSH_OT_BOOL,
- .help = N_("enable parallel save")
- },
{.name = "parallel-channels",
.type = VSH_OT_INT,
- .help = N_("number of extra IO channels to use for parallel save")
+ .help = N_("number of IO channels to use for parallel save")
},
{.name = "xml",
.type = VSH_OT_STRING,
virTypedParameterPtr params = NULL;
int nparams = 0;
int maxparams = 0;
- int nchannels = 1;
- int rv = -1;
+ int nchannels = 0;
unsigned int flags = 0;
const char *xmlfile = NULL;
g_autofree char *xml = NULL;
flags |= VIR_DOMAIN_SAVE_RUNNING;
if (vshCommandOptBool(cmd, "paused"))
flags |= VIR_DOMAIN_SAVE_PAUSED;
- if (vshCommandOptBool(cmd, "parallel"))
- flags |= VIR_DOMAIN_SAVE_PARALLEL;
if (vshCommandOptString(ctl, cmd, "file", &to) < 0)
goto out;
VIR_DOMAIN_SAVE_PARAM_FILE, to) < 0)
goto out;
- if (flags & VIR_DOMAIN_SAVE_PARALLEL) {
- if ((rv = vshCommandOptInt(ctl, cmd, "parallel-channels", &nchannels)) < 0)
- goto out;
-
+ if ((rc = vshCommandOptInt(ctl, cmd, "parallel-channels", &nchannels)) < 0)
+ goto out;
+ if (rc == 1) {
if (virTypedParamsAddInt(¶ms, &nparams, &maxparams,
VIR_DOMAIN_SAVE_PARAM_PARALLEL_CHANNELS, nchannels) < 0)
goto out;
+
+ flags |= VIR_DOMAIN_SAVE_PARALLEL;
}
if (vshCommandOptString(ctl, cmd, "xml", &xmlfile) < 0)