[lxc-devel] [lxc/master] add some idmap parsing error messages
tych0 on Github
lxc-bot at linuxcontainers.org
Tue Jan 9 00:10:23 UTC 2018
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 485 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20180109/1ea05bff/attachment.bin>
-------------- next part --------------
From a8b1ac78131ca089810f80adaccf3ba9a4c8eaa1 Mon Sep 17 00:00:00 2001
From: Tycho Andersen <tycho at tycho.ws>
Date: Tue, 9 Jan 2018 00:07:50 +0000
Subject: [PATCH] add some idmap parsing error messages
otherwise, we just get a return value of false from setting config failure,
with no indication as to what actually failed in the log.
Signed-off-by: Tycho Andersen <tycho at tycho.ws>
---
src/lxc/confile.c | 4 +++-
src/lxc/confile_utils.c | 17 +++++++++++++----
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/src/lxc/confile.c b/src/lxc/confile.c
index 65f13ac56..4c9f27545 100644
--- a/src/lxc/confile.c
+++ b/src/lxc/confile.c
@@ -1665,8 +1665,10 @@ static int set_config_idmaps(const char *key, const char *value,
memset(idmap, 0, sizeof(*idmap));
ret = parse_idmaps(value, &type, &nsid, &hostid, &range);
- if (ret < 0)
+ if (ret < 0) {
+ ERROR("error parsing id maps");
goto on_error;
+ }
INFO("Read uid map: type %c nsid %lu hostid %lu range %lu", type, nsid, hostid, range);
if (type == 'u')
diff --git a/src/lxc/confile_utils.c b/src/lxc/confile_utils.c
index c2901116c..c7850f4aa 100644
--- a/src/lxc/confile_utils.c
+++ b/src/lxc/confile_utils.c
@@ -62,8 +62,11 @@ int parse_idmaps(const char *idmap, char *type, unsigned long *nsid,
goto on_error;
/* Validate type. */
- if (*slide != 'u' && *slide != 'g')
+ if (*slide != 'u' && *slide != 'g') {
+ ERROR("invalid mapping type: %c", *slide);
goto on_error;
+ }
+
/* Assign type. */
tmp_type = *slide;
@@ -88,8 +91,10 @@ int parse_idmaps(const char *idmap, char *type, unsigned long *nsid,
*slide = '\0';
/* Parse nsuid. */
- if (lxc_safe_ulong(window, &tmp_nsid) < 0)
+ if (lxc_safe_ulong(window, &tmp_nsid) < 0) {
+ ERROR("couldn't parse nsuid: %s", window);
goto on_error;
+ }
/* Move beyond \0. */
slide++;
@@ -112,8 +117,10 @@ int parse_idmaps(const char *idmap, char *type, unsigned long *nsid,
*slide = '\0';
/* Parse hostid. */
- if (lxc_safe_ulong(window, &tmp_hostid) < 0)
+ if (lxc_safe_ulong(window, &tmp_hostid) < 0) {
+ ERROR("couldn't parse hostid: %s", window);
goto on_error;
+ }
/* Move beyond \0. */
slide++;
@@ -142,8 +149,10 @@ int parse_idmaps(const char *idmap, char *type, unsigned long *nsid,
*slide = '\0';
/* Parse range. */
- if (lxc_safe_ulong(window, &tmp_range) < 0)
+ if (lxc_safe_ulong(window, &tmp_range) < 0) {
+ ERROR("couldn't parse range: %s", window);
goto on_error;
+ }
*type = tmp_type;
*nsid = tmp_nsid;
More information about the lxc-devel
mailing list