The following pull request was submitted through Github. It can be accessed and reviewed at: https://github.com/lxc/go-lxc/pull/63
This e-mail was sent by the LXC bot, direct replies will not reach the author unless they happen to be subscribed to this list. === Description (from pull-request) === ``` 17:18:02 stgraber | yeah, no problem pulling that in 2.0.4 ```
From 0c025de58fa8b54f9afaa6a494731a2fffce5503 Mon Sep 17 00:00:00 2001 From: Tycho Andersen <tycho.ander...@canonical.com> Date: Wed, 6 Jul 2016 23:50:47 +0000 Subject: [PATCH 1/2] actually send the predump dir through In particular s/:=/=/ Also drop unneeded initialization. Signed-off-by: Tycho Andersen <tycho.ander...@canonical.com> --- container.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/container.go b/container.go index d8d0a93..dcf37b2 100644 --- a/container.go +++ b/container.go @@ -1502,10 +1502,9 @@ func (c *Container) Migrate(cmd uint, opts MigrateOptions) error { defer C.free(unsafe.Pointer(cdirectory)) var cpredumpdir *C.char - cpredumpdir = nil if opts.PredumpDir != "" { - cpredumpdir := C.CString(opts.PredumpDir) + cpredumpdir = C.CString(opts.PredumpDir) defer C.free(unsafe.Pointer(cpredumpdir)) } From 658520b0f87e54b37ce19683784c0fecaaf942e7 Mon Sep 17 00:00:00 2001 From: Tycho Andersen <tycho.ander...@canonical.com> Date: Wed, 6 Jul 2016 23:58:07 +0000 Subject: [PATCH 2/2] c/r: add support for liblxc's action_script Signed-off-by: Tycho Andersen <tycho.ander...@canonical.com> --- container.go | 7 +++++++ lxc-binding.c | 4 ++++ lxc-binding.h | 1 + options.go | 1 + 4 files changed, 13 insertions(+) diff --git a/container.go b/container.go index dcf37b2..5d253f8 100644 --- a/container.go +++ b/container.go @@ -1518,8 +1518,15 @@ func (c *Container) Migrate(cmd uint, opts MigrateOptions) error { predump_dir: cpredumpdir, } + var cActionScript *C.char + if opts.ActionScript != "" { + cActionScript = C.CString(opts.ActionScript) + defer C.free(unsafe.Pointer(cActionScript)) + } + extras := C.struct_extra_migrate_opts{ preserves_inodes: C.bool(opts.PreservesInodes), + action_script: cActionScript, } ret := C.int(C.go_lxc_migrate(c.container, C.uint(cmd), &copts, &extras)) diff --git a/lxc-binding.c b/lxc-binding.c index 90ba45c..7712d8e 100644 --- a/lxc-binding.c +++ b/lxc-binding.c @@ -366,6 +366,10 @@ bool go_lxc_restore(struct lxc_container *c, char *directory, bool verbose) { } int go_lxc_migrate(struct lxc_container *c, unsigned int cmd, struct migrate_opts *opts, struct extra_migrate_opts *extras) { +#if VERSION_AT_LEAST(2, 0, 4) + opts->action_script = extras->action_script; +#endif + #if VERSION_AT_LEAST(2, 0, 1) opts->preserves_inodes = extras->preserves_inodes; #endif diff --git a/lxc-binding.h b/lxc-binding.h index e114494..da046f0 100644 --- a/lxc-binding.h +++ b/lxc-binding.h @@ -87,6 +87,7 @@ struct migrate_opts { */ struct extra_migrate_opts { bool preserves_inodes; + char *action_script; }; int go_lxc_migrate(struct lxc_container *c, unsigned int cmd, struct migrate_opts *opts, struct extra_migrate_opts *extras); diff --git a/options.go b/options.go index 030c35f..47dc392 100644 --- a/options.go +++ b/options.go @@ -194,4 +194,5 @@ type MigrateOptions struct { Stop bool PredumpDir string PreservesInodes bool + ActionScript string }
_______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel