The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxc/pull/2344

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) ===
We used to initialize a log unconditionally before. This has led to scenarios
where users where left with container directories and an empty log file even
though they didn't request a log be created at all.
Switch all tools to only create a log file when the user explicitly requests
this.

Closes #1779.
Closes #2032.

Signed-off-by: Christian Brauner <christian.brau...@ubuntu.com>
From f6d79ec119739addc2a43109f7dd08b09f5bafa9 Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brau...@ubuntu.com>
Date: Wed, 23 May 2018 13:49:42 +0200
Subject: [PATCH] tools: only create log file when requested

We used to initialize a log unconditionally before. This has led to scenarios
where users where left with container directories and an empty log file even
though they didn't request a log be created at all.
Switch all tools to only create a log file when the user explicitly requests
this.

Closes #1779.
Closes #2032.

Signed-off-by: Christian Brauner <christian.brau...@ubuntu.com>
---
 src/lxc/tools/lxc_attach.c     | 24 ++++++++++++------------
 src/lxc/tools/lxc_autostart.c  | 21 ++++++++++++---------
 src/lxc/tools/lxc_cgroup.c     | 24 ++++++++++++------------
 src/lxc/tools/lxc_checkpoint.c | 24 ++++++++++++------------
 src/lxc/tools/lxc_console.c    | 25 ++++++++++++-------------
 src/lxc/tools/lxc_copy.c       | 24 ++++++++++++------------
 src/lxc/tools/lxc_create.c     | 24 ++++++++++++------------
 src/lxc/tools/lxc_destroy.c    | 24 ++++++++++++------------
 src/lxc/tools/lxc_device.c     | 24 ++++++++++++------------
 src/lxc/tools/lxc_execute.c    | 21 ++++++++++++---------
 src/lxc/tools/lxc_freeze.c     | 24 ++++++++++++------------
 src/lxc/tools/lxc_info.c       | 24 ++++++++++++------------
 src/lxc/tools/lxc_ls.c         | 28 ++++++++++++----------------
 src/lxc/tools/lxc_monitor.c    | 24 ++++++++++++------------
 src/lxc/tools/lxc_snapshot.c   | 24 ++++++++++++------------
 src/lxc/tools/lxc_start.c      | 21 ++++++++++++---------
 src/lxc/tools/lxc_stop.c       | 21 ++++++++++++---------
 src/lxc/tools/lxc_unfreeze.c   | 25 ++++++++++++-------------
 src/lxc/tools/lxc_wait.c       | 24 ++++++++++++------------
 19 files changed, 228 insertions(+), 222 deletions(-)

diff --git a/src/lxc/tools/lxc_attach.c b/src/lxc/tools/lxc_attach.c
index 74b2829d6..afd9a57f6 100644
--- a/src/lxc/tools/lxc_attach.c
+++ b/src/lxc/tools/lxc_attach.c
@@ -270,18 +270,18 @@ int main(int argc, char *argv[])
        if (r)
                exit(EXIT_FAILURE);
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-       r = lxc_log_init(&log);
-       if (r)
-               exit(EXIT_FAILURE);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(EXIT_FAILURE);
+       }
 
        if (geteuid()) {
                if (access(my_args.lxcpath[0], O_RDONLY) < 0) {
diff --git a/src/lxc/tools/lxc_autostart.c b/src/lxc/tools/lxc_autostart.c
index 21f9e0b39..a78b7d894 100644
--- a/src/lxc/tools/lxc_autostart.c
+++ b/src/lxc/tools/lxc_autostart.c
@@ -347,15 +347,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(EXIT_FAILURE);
 
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(EXIT_FAILURE);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(EXIT_FAILURE);
+       }
 
        count = list_defined_containers(my_args.lxcpath[0], NULL, &containers);
 
diff --git a/src/lxc/tools/lxc_cgroup.c b/src/lxc/tools/lxc_cgroup.c
index 14c6fa1e3..f97c44081 100644
--- a/src/lxc/tools/lxc_cgroup.c
+++ b/src/lxc/tools/lxc_cgroup.c
@@ -73,18 +73,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(EXIT_FAILURE);
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(EXIT_FAILURE);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(EXIT_FAILURE);
+       }
 
        state_object = my_args.argv[0];
 
diff --git a/src/lxc/tools/lxc_checkpoint.c b/src/lxc/tools/lxc_checkpoint.c
index 0d0746e55..25a8f7aa6 100644
--- a/src/lxc/tools/lxc_checkpoint.c
+++ b/src/lxc/tools/lxc_checkpoint.c
@@ -257,18 +257,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(EXIT_FAILURE);
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(EXIT_FAILURE);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(EXIT_FAILURE);
+       }
 
        c = lxc_container_new(my_args.name, my_args.lxcpath[0]);
        if (!c) {
diff --git a/src/lxc/tools/lxc_console.c b/src/lxc/tools/lxc_console.c
index e55646225..7c22a7a40 100644
--- a/src/lxc/tools/lxc_console.c
+++ b/src/lxc/tools/lxc_console.c
@@ -97,19 +97,18 @@ int main(int argc, char *argv[])
        if (ret)
                return EXIT_FAILURE;
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       ret = lxc_log_init(&log);
-       if (ret)
-               return EXIT_FAILURE;
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(EXIT_FAILURE);
+       }
 
        c = lxc_container_new(my_args.name, my_args.lxcpath[0]);
        if (!c) {
diff --git a/src/lxc/tools/lxc_copy.c b/src/lxc/tools/lxc_copy.c
index 08ef41fc8..58f3b01dd 100644
--- a/src/lxc/tools/lxc_copy.c
+++ b/src/lxc/tools/lxc_copy.c
@@ -163,18 +163,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(ret);
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(ret);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(ret);
+       }
 
        if (geteuid()) {
                if (access(my_args.lxcpath[0], O_RDONLY) < 0) {
diff --git a/src/lxc/tools/lxc_create.c b/src/lxc/tools/lxc_create.c
index 51dae1054..78c15ee05 100644
--- a/src/lxc/tools/lxc_create.c
+++ b/src/lxc/tools/lxc_create.c
@@ -227,18 +227,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(EXIT_FAILURE);
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(EXIT_FAILURE);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(EXIT_FAILURE);
+       }
 
        if (!my_args.template) {
                fprintf(stderr, "A template must be specified.\n");
diff --git a/src/lxc/tools/lxc_destroy.c b/src/lxc/tools/lxc_destroy.c
index 7de369ac8..9fceba889 100644
--- a/src/lxc/tools/lxc_destroy.c
+++ b/src/lxc/tools/lxc_destroy.c
@@ -70,18 +70,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(EXIT_FAILURE);
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(EXIT_FAILURE);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(EXIT_FAILURE);
+       }
 
        if (my_args.quiet)
                quiet = true;
diff --git a/src/lxc/tools/lxc_device.c b/src/lxc/tools/lxc_device.c
index c139e96c8..6295b89d7 100644
--- a/src/lxc/tools/lxc_device.c
+++ b/src/lxc/tools/lxc_device.c
@@ -110,18 +110,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                goto err;
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               goto err;
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(EXIT_FAILURE);
+       }
 
        c = lxc_container_new(my_args.name, my_args.lxcpath[0]);
        if (!c) {
diff --git a/src/lxc/tools/lxc_execute.c b/src/lxc/tools/lxc_execute.c
index 5c03b498b..ecabb785b 100644
--- a/src/lxc/tools/lxc_execute.c
+++ b/src/lxc/tools/lxc_execute.c
@@ -151,15 +151,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(err);
 
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(err);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(err);
+       }
 
        c = lxc_container_new(my_args.name, my_args.lxcpath[0]);
        if (!c) {
diff --git a/src/lxc/tools/lxc_freeze.c b/src/lxc/tools/lxc_freeze.c
index 66180a07b..122564cca 100644
--- a/src/lxc/tools/lxc_freeze.c
+++ b/src/lxc/tools/lxc_freeze.c
@@ -60,18 +60,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(EXIT_FAILURE);
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(EXIT_FAILURE);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(EXIT_FAILURE);
+       }
 
        c = lxc_container_new(my_args.name, my_args.lxcpath[0]);
        if (!c) {
diff --git a/src/lxc/tools/lxc_info.c b/src/lxc/tools/lxc_info.c
index 6105b36eb..56af0e4fe 100644
--- a/src/lxc/tools/lxc_info.c
+++ b/src/lxc/tools/lxc_info.c
@@ -396,18 +396,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(ret);
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(ret);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(ret);
+       }
 
        if (print_info(my_args.name, my_args.lxcpath[0]) == 0)
                ret = EXIT_SUCCESS;
diff --git a/src/lxc/tools/lxc_ls.c b/src/lxc/tools/lxc_ls.c
index 4b9623919..4089b9361 100644
--- a/src/lxc/tools/lxc_ls.c
+++ b/src/lxc/tools/lxc_ls.c
@@ -211,22 +211,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(EXIT_FAILURE);
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       /*
-        * We set the first argument that usually takes my_args.name to NULL so
-        * that the log is only used when the user specifies a file.
-        */
-       log.name = NULL;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(EXIT_FAILURE);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = NULL;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(EXIT_FAILURE);
+       }
 
        struct lengths max_len = {
                /* default header length */
diff --git a/src/lxc/tools/lxc_monitor.c b/src/lxc/tools/lxc_monitor.c
index abc8a233a..036e43df5 100644
--- a/src/lxc/tools/lxc_monitor.c
+++ b/src/lxc/tools/lxc_monitor.c
@@ -503,18 +503,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(rc_main);
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(rc_main);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(rc_main);
+       }
 
        if (quit_monitord) {
                int ret = EXIT_SUCCESS;
diff --git a/src/lxc/tools/lxc_snapshot.c b/src/lxc/tools/lxc_snapshot.c
index 52ddd8fe9..535941f52 100644
--- a/src/lxc/tools/lxc_snapshot.c
+++ b/src/lxc/tools/lxc_snapshot.c
@@ -84,18 +84,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(EXIT_FAILURE);
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(EXIT_FAILURE);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(EXIT_FAILURE);
+       }
 
        if (geteuid()) {
                if (access(my_args.lxcpath[0], O_RDONLY) < 0) {
diff --git a/src/lxc/tools/lxc_start.c b/src/lxc/tools/lxc_start.c
index aa754247d..1a68453f8 100644
--- a/src/lxc/tools/lxc_start.c
+++ b/src/lxc/tools/lxc_start.c
@@ -189,15 +189,18 @@ int main(int argc, char *argv[])
        else
                args = my_args.argv;
 
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(err);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(err);
+       }
 
        lxcpath = my_args.lxcpath[0];
        if (access(lxcpath, O_RDONLY) < 0) {
diff --git a/src/lxc/tools/lxc_stop.c b/src/lxc/tools/lxc_stop.c
index 787a6bdb6..fad7064e1 100644
--- a/src/lxc/tools/lxc_stop.c
+++ b/src/lxc/tools/lxc_stop.c
@@ -104,15 +104,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(ret);
 
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(ret);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(ret);
+       }
 
        /* Set default timeout */
        if (my_args.timeout == -2) {
diff --git a/src/lxc/tools/lxc_unfreeze.c b/src/lxc/tools/lxc_unfreeze.c
index 482e0e7f4..5105d8703 100644
--- a/src/lxc/tools/lxc_unfreeze.c
+++ b/src/lxc/tools/lxc_unfreeze.c
@@ -60,19 +60,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(EXIT_FAILURE);
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-
-       if (lxc_log_init(&log))
-               exit(EXIT_FAILURE);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(EXIT_FAILURE);
+       }
 
        c = lxc_container_new(my_args.name, my_args.lxcpath[0]);
        if (!c) {
diff --git a/src/lxc/tools/lxc_wait.c b/src/lxc/tools/lxc_wait.c
index e4541e415..f768149e8 100644
--- a/src/lxc/tools/lxc_wait.c
+++ b/src/lxc/tools/lxc_wait.c
@@ -87,18 +87,18 @@ int main(int argc, char *argv[])
        if (lxc_arguments_parse(&my_args, argc, argv))
                exit(EXIT_FAILURE);
 
-       if (!my_args.log_file)
-               my_args.log_file = "none";
-
-       log.name = my_args.name;
-       log.file = my_args.log_file;
-       log.level = my_args.log_priority;
-       log.prefix = my_args.progname;
-       log.quiet = my_args.quiet;
-       log.lxcpath = my_args.lxcpath[0];
-
-       if (lxc_log_init(&log))
-               exit(EXIT_FAILURE);
+       /* Only create log if explicitly instructed */
+       if (my_args.log_file || my_args.log_priority) {
+               log.name = my_args.name;
+               log.file = my_args.log_file;
+               log.level = my_args.log_priority;
+               log.prefix = my_args.progname;
+               log.quiet = my_args.quiet;
+               log.lxcpath = my_args.lxcpath[0];
+
+               if (lxc_log_init(&log))
+                       exit(EXIT_FAILURE);
+       }
 
        c = lxc_container_new(my_args.name, my_args.lxcpath[0]);
        if (!c)
_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to