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 <stgra...@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

_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to