[libvirt PATCH v2 77/81] virsh: Add --postcopy option for domjobabort command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx>
Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx>
Reviewed-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
---

Notes:
    Version 2:
    - no change

 docs/manpages/virsh.rst |  8 +++++++-
 tools/virsh-domain.c    | 16 +++++++++++++++-
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst
index ecdb54fcd5..faac996536 100644
--- a/docs/manpages/virsh.rst
+++ b/docs/manpages/virsh.rst
@@ -2053,10 +2053,16 @@ domjobabort
 
 ::
 
-   domjobabort domain
+   domjobabort domain [--postcopy]
 
 Abort the currently running domain job.
 
+When the job to be aborted is a migration which entered post-copy mode, it
+cannot be aborted as none of the hosts involved in migration has a complete
+state of the domain. Optional *--postcopy* can be used to interrupt such
+migration although doing so may effectively suspend the domain until the
+migration is resumed (see also *--postcopy-resume* option of ``migrate``).
+
 
 domjobinfo
 ----------
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index dd7862b5e5..5c4a7d7b8d 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -6477,6 +6477,10 @@ static const vshCmdInfo info_domjobabort[] = {
 
 static const vshCmdOptDef opts_domjobabort[] = {
     VIRSH_COMMON_OPT_DOMAIN_FULL(VIR_CONNECT_LIST_DOMAINS_ACTIVE),
+    {.name = "postcopy",
+     .type = VSH_OT_BOOL,
+     .help = N_("interrupt post-copy migration")
+    },
     {.name = NULL}
 };
 
@@ -6484,11 +6488,21 @@ static bool
 cmdDomjobabort(vshControl *ctl, const vshCmd *cmd)
 {
     g_autoptr(virshDomain) dom = NULL;
+    unsigned int flags = 0;
+    int rc;
 
     if (!(dom = virshCommandOptDomain(ctl, cmd, NULL)))
         return false;
 
-    if (virDomainAbortJob(dom) < 0)
+    if (vshCommandOptBool(cmd, "postcopy"))
+        flags |= VIR_DOMAIN_ABORT_JOB_POSTCOPY;
+
+    if (flags == 0)
+        rc = virDomainAbortJob(dom);
+    else
+        rc = virDomainAbortJobFlags(dom, flags);
+
+    if (rc < 0)
         return false;
 
     return true;
-- 
2.35.1




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux