]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh: Add support for VIR_DOMAIN_BLOCK_COPY_TRANSIENT_JOB
authorPeter Krempa <pkrempa@redhat.com>
Tue, 6 Jun 2017 13:32:49 +0000 (15:32 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 7 Jun 2017 11:17:38 +0000 (13:17 +0200)
Allow using the new flag with virsh.

tools/virsh-domain.c
tools/virsh.pod

index ccb514ef9ab10bf44cb0fb62e6f76d8445ebedfe..f39589c20461c8d0cb6bd24aaa716af26115c6e6 100644 (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));
index aee964689578f2a2f572ecd13b2c2b6b990d8089..73483ea7b009df89baf9679845502941a1d6181a 100644 (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>]