virsh: Add support for VIR_DOMAIN_BLOCK_COPY_TRANSIENT_JOB

Allow using the new flag with virsh.
This commit is contained in:
Peter Krempa 2017-06-06 15:32:49 +02:00
parent b7e534c651
commit 880b1a2e25
2 changed files with 15 additions and 1 deletions

View File

@ -2184,6 +2184,10 @@ static const vshCmdOptDef opts_block_copy[] = {
.type = VSH_OT_BOOL,
.help = N_("the bandwidth limit is in bytes/s rather than MiB/s")
},
{.name = "transient-job",
.type = VSH_OT_BOOL,
.help = N_("the copy job is not persisted if VM is turned off")
},
{.name = NULL}
};
@ -2205,6 +2209,7 @@ cmdBlockCopy(vshControl *ctl, const vshCmd *cmd)
bool blocking = vshCommandOptBool(cmd, "wait") || finish || pivot;
bool async = vshCommandOptBool(cmd, "async");
bool bytes = vshCommandOptBool(cmd, "bytes");
bool transientjob = vshCommandOptBool(cmd, "transient-job");
int timeout = 0;
const char *path = NULL;
int abort_flags = 0;
@ -2234,6 +2239,8 @@ cmdBlockCopy(vshControl *ctl, const vshCmd *cmd)
flags |= VIR_DOMAIN_BLOCK_REBASE_SHALLOW;
if (vshCommandOptBool(cmd, "reuse-external"))
flags |= VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT;
if (transientjob)
flags |= VIR_DOMAIN_BLOCK_COPY_TRANSIENT_JOB;
if (vshCommandOptTimeoutToMs(ctl, cmd, &timeout) < 0)
return false;
@ -2282,7 +2289,8 @@ cmdBlockCopy(vshControl *ctl, const vshCmd *cmd)
}
}
if (granularity || buf_size || (format && STRNEQ(format, "raw")) || xml) {
if (granularity || buf_size || (format && STRNEQ(format, "raw")) || xml ||
transientjob) {
/* New API */
if (bandwidth || granularity || buf_size) {
params = vshCalloc(ctl, 3, sizeof(*params));

View File

@ -1078,6 +1078,7 @@ command.
| I<--xml> B<file> } [I<--shallow>] [I<--reuse-external>] [I<bandwidth>]
[I<--wait> [I<--async>] [I<--verbose>]] [{I<--pivot> | I<--finish>}]
[I<--timeout> B<seconds>] [I<granularity>] [I<buf-size>] [I<--bytes>]
[I<--transient-job>]
Copy a disk backing image chain to a destination. Either I<dest> as
the destination file name, or I<--xml> with the name of an XML file containing
@ -1132,6 +1133,11 @@ within a certain range. Specifying I<buf-size> will control how much data can
be simultaneously in-flight during the copy; larger values use more memory but
may allow faster completion (the default value is usually correct).
I<--transient-job> allows to specify that the user does not require the job to
be recovered if the VM crashes or is turned off before the job completes. This
flag removes the restriction of copy jobs to transient domains if that
restriction is applied by the hypervisor.
=item B<blockpull> I<domain> I<path> [I<bandwidth>] [I<--bytes>] [I<base>]
[I<--wait> [I<--verbose>] [I<--timeout> B<seconds>] [I<--async>]]
[I<--keep-relative>]