mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-15 19:35:59 +00:00
fix container find the previously created configuration
The command specifies a configuration file => use it The command does not specify a configuration but the container was created before, use the configuration. The command does not specify a configuration and the container was not created before, use default. Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
This commit is contained in:
parent
a7856c5545
commit
96c210bbbe
@ -82,6 +82,7 @@ Options :\n\
|
|||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
static char **args;
|
static char **args;
|
||||||
|
char *rcfile;
|
||||||
|
|
||||||
if (lxc_arguments_parse(&my_args, argc, argv))
|
if (lxc_arguments_parse(&my_args, argc, argv))
|
||||||
return -1;
|
return -1;
|
||||||
@ -94,6 +95,22 @@ int main(int argc, char *argv[])
|
|||||||
if (!args)
|
if (!args)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
/* rcfile is specified in the cli option */
|
||||||
|
if (my_args.rcfile)
|
||||||
|
rcfile = (char *)my_args.rcfile;
|
||||||
|
else {
|
||||||
|
if (!asprintf(&rcfile, LXCPATH "/%s", my_args.name)) {
|
||||||
|
SYSERROR("failed to allocate memory");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* container configuration does not exist */
|
||||||
|
if (access(rcfile, F_OK)) {
|
||||||
|
free(rcfile);
|
||||||
|
rcfile = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return lxc_start(my_args.name, args, my_args.rcfile);
|
return lxc_start(my_args.name, args, my_args.rcfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,8 +20,11 @@
|
|||||||
* License along with this library; if not, write to the Free Software
|
* License along with this library; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
#define _GNU_SOURCE
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#undef _GNU_SOURCE
|
||||||
#include <libgen.h>
|
#include <libgen.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
@ -42,6 +45,7 @@
|
|||||||
#include <lxc/utils.h>
|
#include <lxc/utils.h>
|
||||||
|
|
||||||
#include "arguments.h"
|
#include "arguments.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
lxc_log_define(lxc_start, lxc);
|
lxc_log_define(lxc_start, lxc);
|
||||||
|
|
||||||
@ -127,6 +131,8 @@ int main(int argc, char *argv[])
|
|||||||
'\0',
|
'\0',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
char *rcfile = NULL;
|
||||||
|
|
||||||
if (lxc_arguments_parse(&my_args, argc, argv))
|
if (lxc_arguments_parse(&my_args, argc, argv))
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
@ -139,6 +145,22 @@ int main(int argc, char *argv[])
|
|||||||
my_args.progname, my_args.quiet))
|
my_args.progname, my_args.quiet))
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
|
/* rcfile is specified in the cli option */
|
||||||
|
if (my_args.rcfile)
|
||||||
|
rcfile = (char *)my_args.rcfile;
|
||||||
|
else {
|
||||||
|
if (!asprintf(&rcfile, LXCPATH "/%s", my_args.name)) {
|
||||||
|
SYSERROR("failed to allocate memory");
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* container configuration does not exist */
|
||||||
|
if (access(rcfile, F_OK)) {
|
||||||
|
free(rcfile);
|
||||||
|
rcfile = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (my_args.daemonize) {
|
if (my_args.daemonize) {
|
||||||
|
|
||||||
/* do not chdir as we want to open the log file,
|
/* do not chdir as we want to open the log file,
|
||||||
@ -167,7 +189,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
save_tty(&tios);
|
save_tty(&tios);
|
||||||
|
|
||||||
err = lxc_start(my_args.name, args, my_args.rcfile);
|
err = lxc_start(my_args.name, args, rcfile);
|
||||||
|
|
||||||
restore_tty(&tios);
|
restore_tty(&tios);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user