From: Wolfgang Bumiller Date: Thu, 4 Aug 2016 09:23:54 +0000 (+0200) Subject: add -f option to lxc-attach X-Git-Tag: lxc-2.1.0~364^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7ae6ce4e505882859a1c3683c4600e0d8400d64;p=thirdparty%2Flxc.git add -f option to lxc-attach Otherwise a container with a non-standard configuration file can be started but not attached to. Fixes the following case: # lxc-start -n ct -f /different/path/my.config # lxc-attach -n ct Error: container ct is not defined Signed-off-by: Wolfgang Bumiller --- diff --git a/src/lxc/tools/lxc_attach.c b/src/lxc/tools/lxc_attach.c index 58f658bfd..7116885ac 100644 --- a/src/lxc/tools/lxc_attach.c +++ b/src/lxc/tools/lxc_attach.c @@ -65,6 +65,7 @@ static const struct option my_longopts[] = { {"keep-var", required_argument, 0, 502}, {"set-var", required_argument, 0, 'v'}, {"pty-log", required_argument, 0, 'L'}, + {"rcfile", required_argument, 0, 'f'}, LXC_COMMON_OPTIONS }; @@ -153,6 +154,7 @@ static int my_parser(struct lxc_arguments* args, int c, char* arg) case 'L': args->console_log = arg; break; + case 'f': args->rcfile = arg; break; } return 0; @@ -202,7 +204,10 @@ Options :\n\ multiple times.\n\ --keep-var Keep an additional environment variable. Only\n\ applicable if --clear-env is specified. May be used\n\ - multiple times.\n", + multiple times.\n\ + -f, --rcfile=FILE\n\ + Load configuration file FILE\n\ +", .options = my_longopts, .parser = my_parser, .checker = NULL, @@ -373,6 +378,15 @@ int main(int argc, char *argv[]) if (!c) exit(EXIT_FAILURE); + if (my_args.rcfile) { + c->clear_config(c); + if (!c->load_config(c, my_args.rcfile)) { + ERROR("Failed to load rcfile"); + lxc_container_put(c); + exit(EXIT_FAILURE); + } + } + if (!c->may_control(c)) { fprintf(stderr, "Insufficent privileges to control %s\n", c->name); lxc_container_put(c);