|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH VERY RFC 4/5] tools/xl: Restore v2 streams using new libxl_domain_restore() interface
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
tools/libxl/xl_cmdimpl.c | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index e6b9615..8e0a6bb 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -136,6 +136,8 @@ static const char *action_on_shutdown_names[] = {
#define SAVEFILE_BYTEORDER_VALUE ((uint32_t)0x01020304UL)
+#define SAVEFILE_MANDATORY_STREAMV2 (1 << 0)
+
struct domain_create {
int debug;
int daemonize;
@@ -2115,7 +2117,7 @@ static uint32_t create_domain(struct domain_create
*dom_info)
restore_source, hdr.mandatory_flags, hdr.optional_flags,
hdr.optional_data_len);
- badflags = hdr.mandatory_flags & ~( 0 /* none understood yet */ );
+ badflags = hdr.mandatory_flags & ~SAVEFILE_MANDATORY_STREAMV2;
if (badflags) {
fprintf(stderr, "Savefile has mandatory flag(s) 0x%"PRIx32" "
"which are not supported; need newer xl\n",
@@ -2245,12 +2247,17 @@ start:
}
if ( restoring ) {
- libxl_domain_restore_params params;
- params.checkpointed_stream = dom_info->checkpointed_stream;
- ret = libxl_domain_create_restore(ctx, &d_config,
- &domid, restore_fd,
- ¶ms,
- 0, autoconnect_console_how);
+ if ( hdr.mandatory_flags & SAVEFILE_MANDATORY_STREAMV2 ) {
+ ret = libxl_domain_restore(ctx, &d_config, restore_fd, &domid,
+ 0, autoconnect_console_how);
+ } else {
+ libxl_domain_restore_params params;
+ params.checkpointed_stream = dom_info->checkpointed_stream;
+ ret = libxl_domain_create_restore(ctx, &d_config,
+ &domid, restore_fd,
+ ¶ms,
+ 0, autoconnect_console_how);
+ }
/*
* On subsequent reboot etc we should create the domain, not
* restore/migrate-receive it again.
--
1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |