[lxc-devel] [PATCH] In lxc.mount.auto, skip on ENONENT

Stéphane Graber stgraber at ubuntu.com
Sat Jan 31 13:40:38 UTC 2015


This resolves the case where /proc/sysrq-trigger doesn't exist by simply
ignoring any mount failure on ENOENT. With the current mount list, this
will always result in a safe environment (typically the read-only
underlay).

Closes #425

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
 src/lxc/conf.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index fbe82b5..5a99324 100644
--- a/src/lxc/conf.c
+++ b/src/lxc/conf.c
@@ -798,7 +798,11 @@ static int lxc_mount_auto_mounts(struct lxc_conf *conf, int flags, struct lxc_ha
 					default_mounts[i].flags);
 			r = mount(source, destination, default_mounts[i].fstype, mflags, default_mounts[i].options);
 			saved_errno = errno;
-			if (r < 0)
+			if (r < 0 && errno == ENOENT) {
+				INFO("Mount source or target for %s on %s doesn't exist. Skipping.", source, destination);
+				r = 0;
+			}
+			else
 				SYSERROR("error mounting %s on %s flags %lu", source, destination, mflags);
 
 			free(source);
-- 
1.9.1



More information about the lxc-devel mailing list