mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-10 23:07:44 +00:00
virsh: Expose new VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE flag
to cmdSnapshotCreate and cmdSnapshotCreateAs.
This commit is contained in:
parent
109593ecb0
commit
6fba577e50
@ -14662,6 +14662,7 @@ static const vshCmdOptDef opts_snapshot_create[] = {
|
|||||||
{"halt", VSH_OT_BOOL, 0, N_("halt domain after snapshot is created")},
|
{"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")},
|
{"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")},
|
{"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}
|
{NULL, 0, 0, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -14686,6 +14687,8 @@ cmdSnapshotCreate(vshControl *ctl, const vshCmd *cmd)
|
|||||||
flags |= VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY;
|
flags |= VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY;
|
||||||
if (vshCommandOptBool(cmd, "reuse-external"))
|
if (vshCommandOptBool(cmd, "reuse-external"))
|
||||||
flags |= VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT;
|
flags |= VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT;
|
||||||
|
if (vshCommandOptBool(cmd, "quiesce"))
|
||||||
|
flags |= VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE;
|
||||||
|
|
||||||
if (!vshConnectionUsability(ctl, ctl->conn))
|
if (!vshConnectionUsability(ctl, ctl->conn))
|
||||||
goto cleanup;
|
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")},
|
{"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")},
|
{"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")},
|
{"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,
|
{"diskspec", VSH_OT_ARGV, 0,
|
||||||
N_("disk attributes: disk[,snapshot=type][,driver=type][,file=name]")},
|
N_("disk attributes: disk[,snapshot=type][,driver=type][,file=name]")},
|
||||||
{NULL, 0, 0, NULL}
|
{NULL, 0, 0, NULL}
|
||||||
@ -14820,6 +14824,8 @@ cmdSnapshotCreateAs(vshControl *ctl, const vshCmd *cmd)
|
|||||||
flags |= VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY;
|
flags |= VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY;
|
||||||
if (vshCommandOptBool(cmd, "reuse-external"))
|
if (vshCommandOptBool(cmd, "reuse-external"))
|
||||||
flags |= VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT;
|
flags |= VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT;
|
||||||
|
if (vshCommandOptBool(cmd, "quiesce"))
|
||||||
|
flags |= VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE;
|
||||||
|
|
||||||
if (!vshConnectionUsability(ctl, ctl->conn))
|
if (!vshConnectionUsability(ctl, ctl->conn))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -2046,7 +2046,8 @@ used to represent properties of snapshots.
|
|||||||
=over 4
|
=over 4
|
||||||
|
|
||||||
=item B<snapshot-create> I<domain> [I<xmlfile>] {[I<--redefine> [I<--current>]]
|
=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
|
Create a snapshot for domain I<domain> with the properties specified in
|
||||||
I<xmlfile>. Normally, the only properties settable for a domain snapshot
|
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
|
existing file is truncated and reused; otherwise, a snapshot is refused
|
||||||
to avoid losing contents of the existing files.
|
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>
|
Existence of snapshot metadata will prevent attempts to B<undefine>
|
||||||
a persistent domain. However, for transient domains, snapshot
|
a persistent domain. However, for transient domains, snapshot
|
||||||
metadata is silently lost when the domain quits running (whether
|
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>]
|
=item B<snapshot-create-as> I<domain> {[I<--print-xml>]
|
||||||
| [I<--no-metadata>] [I<--halt>] [I<--reuse-existing>]} [I<name>]
|
| [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
|
Create a snapshot for domain I<domain> with the given <name> and
|
||||||
<description>; if either value is omitted, libvirt will choose a
|
<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
|
file, then the existing file is truncated and reused; otherwise, a
|
||||||
snapshot is refused to avoid losing contents of the existing files.
|
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,
|
If I<--no-metadata> is specified, then the snapshot data is created,
|
||||||
but any metadata is immediately discarded (that is, libvirt does not
|
but any metadata is immediately discarded (that is, libvirt does not
|
||||||
treat the snapshot as current, and cannot revert to the snapshot
|
treat the snapshot as current, and cannot revert to the snapshot
|
||||||
|
Loading…
Reference in New Issue
Block a user