WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] Implement xl dump-core

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] Implement xl dump-core
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 20 Jul 2010 01:45:26 -0700
Delivery-date: Tue, 20 Jul 2010 01:47:29 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Stefano Stabellini <sstabellini@xxxxxxxxxxxxx>
# Date 1279550018 -3600
# Node ID e81454d7c8a1ffb0090641d39f33d55788567df8
# Parent  317bf978887c58c05a8b6643b8abb4ea1f1bc3b7
Implement xl dump-core

Implements dump-core command which is similar to xm dump-core except
that it requires an additional argument which is the target filename.

Signed-off-by: Gianni Tedesco <gianni.tedesco@xxxxxxxxxx>
---
 tools/libxl/libxl.c       |    7 +++++++
 tools/libxl/libxl.h       |    2 ++
 tools/libxl/xl.h          |    1 +
 tools/libxl/xl_cmdimpl.c  |   18 ++++++++++++++++++
 tools/libxl/xl_cmdtable.c |    5 +++++
 5 files changed, 33 insertions(+)

diff -r 317bf978887c -r e81454d7c8a1 tools/libxl/libxl.c
--- a/tools/libxl/libxl.c       Mon Jul 19 15:15:32 2010 +0100
+++ b/tools/libxl/libxl.c       Mon Jul 19 15:33:38 2010 +0100
@@ -520,6 +520,13 @@ int libxl_domain_pause(struct libxl_ctx 
 int libxl_domain_pause(struct libxl_ctx *ctx, uint32_t domid)
 {
     xc_domain_pause(ctx->xch, domid);
+    return 0;
+}
+
+int libxl_domain_core_dump(struct libxl_ctx *ctx, uint32_t domid, const char 
*filename)
+{
+    if ( xc_domain_dumpcore(ctx->xch, domid, filename) )
+        return ERROR_FAIL;
     return 0;
 }
 
diff -r 317bf978887c -r e81454d7c8a1 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h       Mon Jul 19 15:15:32 2010 +0100
+++ b/tools/libxl/libxl.h       Mon Jul 19 15:33:38 2010 +0100
@@ -395,6 +395,8 @@ int libxl_domain_pause(struct libxl_ctx 
 int libxl_domain_pause(struct libxl_ctx *ctx, uint32_t domid);
 int libxl_domain_unpause(struct libxl_ctx *ctx, uint32_t domid);
 
+int libxl_domain_core_dump(struct libxl_ctx *ctx, uint32_t domid, const char 
*filename);
+
 int libxl_domain_setmaxmem(struct libxl_ctx *ctx, uint32_t domid, uint32_t 
target_memkb);
 int libxl_set_memory_target(struct libxl_ctx *ctx, uint32_t domid, uint32_t 
target_memkb, int enforce);
 
diff -r 317bf978887c -r e81454d7c8a1 tools/libxl/xl.h
--- a/tools/libxl/xl.h  Mon Jul 19 15:15:32 2010 +0100
+++ b/tools/libxl/xl.h  Mon Jul 19 15:33:38 2010 +0100
@@ -37,6 +37,7 @@ int main_migrate_receive(int argc, char 
 int main_migrate_receive(int argc, char **argv);
 int main_save(int argc, char **argv);
 int main_migrate(int argc, char **argv);
+int main_dump_core(int argc, char **argv);
 int main_pause(int argc, char **argv);
 int main_unpause(int argc, char **argv);
 int main_destroy(int argc, char **argv);
diff -r 317bf978887c -r e81454d7c8a1 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Mon Jul 19 15:15:32 2010 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Mon Jul 19 15:33:38 2010 +0100
@@ -2264,6 +2264,14 @@ static void migrate_domain(char *domain_
     exit(-ERROR_BADFAIL);
 }
 
+static void core_dump_domain(const char *domain_spec, const char *filename)
+{
+    int rc;
+    find_domain(domain_spec);
+    rc=libxl_domain_core_dump(&ctx, domid, filename);
+    if (rc) { fprintf(stderr,"core dump failed (rc=%d)\n.",rc);exit(-1); }
+}
+
 static void migrate_receive(int debug, int daemonize)
 {
     int rc, rc2;
@@ -2530,6 +2538,16 @@ int main_migrate(int argc, char **argv)
     }
 
     migrate_domain(p, rune, config_filename);
+    exit(0);
+}
+
+int main_dump_core(int argc, char **argv)
+{
+    if ( argc-optind < 2 ) {
+        help("dump-core");
+        exit(2);
+    }
+    core_dump_domain(argv[optind], argv[optind + 1]);
     exit(0);
 }
 
diff -r 317bf978887c -r e81454d7c8a1 tools/libxl/xl_cmdtable.c
--- a/tools/libxl/xl_cmdtable.c Mon Jul 19 15:15:32 2010 +0100
+++ b/tools/libxl/xl_cmdtable.c Mon Jul 19 15:33:38 2010 +0100
@@ -102,6 +102,11 @@ struct cmd_spec cmd_table[] = {
       "-e              Do not wait in the background (on <host>) for the 
death\n"
       "                of the domain."
     },
+    { "dump-core",
+      &main_dump_core,
+      "Core dump a domain",
+      "<Domain> <filename>"
+    },
     { "restore",
       &main_restore,
       "Restore a domain from a saved state",

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] Implement xl dump-core, Xen patchbot-unstable <=