]> xenbits.xensource.com Git - libvirt.git/commitdiff
virsh: Expose new VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE flag
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 24 Jan 2012 14:47:09 +0000 (15:47 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Wed, 25 Jan 2012 09:59:41 +0000 (10:59 +0100)
to cmdSnapshotCreate and cmdSnapshotCreateAs.

tools/virsh.c
tools/virsh.pod

index 5560988bf09f84dd339c255481aae2f491998d51..999941c52a3b7a8c6fe1363201f5e2196e278652 100644 (file)
@@ -14662,6 +14662,7 @@ static const vshCmdOptDef opts_snapshot_create[] = {
     {"halt", VSH_OT_BOOL, 0, N_("halt domain after snapshot is created")},
     {"disk-only", VSH_OT_BOOL, 0, N_("capture disk state but not vm state")},
     {"reuse-external", VSH_OT_BOOL, 0, N_("reuse any existing external files")},
+    {"quiesce", VSH_OT_BOOL, 0, N_("quiesce guest's file systems")},
     {NULL, 0, 0, NULL}
 };
 
@@ -14686,6 +14687,8 @@ cmdSnapshotCreate(vshControl *ctl, const vshCmd *cmd)
         flags |= VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY;
     if (vshCommandOptBool(cmd, "reuse-external"))
         flags |= VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT;
+    if (vshCommandOptBool(cmd, "quiesce"))
+        flags |= VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE;
 
     if (!vshConnectionUsability(ctl, ctl->conn))
         goto cleanup;
@@ -14795,6 +14798,7 @@ static const vshCmdOptDef opts_snapshot_create_as[] = {
     {"halt", VSH_OT_BOOL, 0, N_("halt domain after snapshot is created")},
     {"disk-only", VSH_OT_BOOL, 0, N_("capture disk state but not vm state")},
     {"reuse-external", VSH_OT_BOOL, 0, N_("reuse any existing external files")},
+    {"quiesce", VSH_OT_BOOL, 0, N_("quiesce guest's file systems")},
     {"diskspec", VSH_OT_ARGV, 0,
      N_("disk attributes: disk[,snapshot=type][,driver=type][,file=name]")},
     {NULL, 0, 0, NULL}
@@ -14820,6 +14824,8 @@ cmdSnapshotCreateAs(vshControl *ctl, const vshCmd *cmd)
         flags |= VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY;
     if (vshCommandOptBool(cmd, "reuse-external"))
         flags |= VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT;
+    if (vshCommandOptBool(cmd, "quiesce"))
+        flags |= VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE;
 
     if (!vshConnectionUsability(ctl, ctl->conn))
         goto cleanup;
index 72c6d8f9b0395b19aa1c9d1d0606cee29a5b476d..b6962cf02f886dc3f21c5a823bc0d780b6a50630 100644 (file)
@@ -2046,7 +2046,8 @@ used to represent properties of snapshots.
 =over 4
 
 =item B<snapshot-create> I<domain> [I<xmlfile>] {[I<--redefine> [I<--current>]]
-| [I<--no-metadata>] [I<--halt>] [I<--disk-only>] [I<--reuse-external]}
+| [I<--no-metadata>] [I<--halt>] [I<--disk-only>] [I<--reuse-external]
+[I<--quiesce>]}
 
 Create a snapshot for domain I<domain> with the properties specified in
 I<xmlfile>.  Normally, the only properties settable for a domain snapshot
@@ -2088,6 +2089,11 @@ external snapshot with a destination of an existing file, then the
 existing file is truncated and reused; otherwise, a snapshot is refused
 to avoid losing contents of the existing files.
 
+If I<--quiesce> is specified, libvirt will try to use guest agent
+to freeze and unfreeze domain's mounted file systems. However,
+if domain has no guest agent, snapshot creation will fail.
+Currently, this requires I<--disk-only> to be passed as well.
+
 Existence of snapshot metadata will prevent attempts to B<undefine>
 a persistent domain.  However, for transient domains, snapshot
 metadata is silently lost when the domain quits running (whether
@@ -2095,7 +2101,8 @@ by command such as B<destroy> or by internal guest action).
 
 =item B<snapshot-create-as> I<domain> {[I<--print-xml>]
 | [I<--no-metadata>] [I<--halt>] [I<--reuse-existing>]} [I<name>]
-[I<description>] [I<--disk-only> [[I<--diskspec>] B<diskspec>]...]
+[I<description>] [I<--disk-only> [I<--quiesce>]
+[[I<--diskspec>] B<diskspec>]...]
 
 Create a snapshot for domain I<domain> with the given <name> and
 <description>; if either value is omitted, libvirt will choose a
@@ -2123,6 +2130,11 @@ option requests an external snapshot with a destination of an existing
 file, then the existing file is truncated and reused; otherwise, a
 snapshot is refused to avoid losing contents of the existing files.
 
+If I<--quiesce> is specified, libvirt will try to use guest agent
+to freeze and unfreeze domain's mounted file systems. However,
+if domain has no guest agent, snapshot creation will fail.
+Currently, this requires I<--disk-only> to be passed as well.
+
 If I<--no-metadata> is specified, then the snapshot data is created,
 but any metadata is immediately discarded (that is, libvirt does not
 treat the snapshot as current, and cannot revert to the snapshot