[lxc-devel] [PATCH] setup_mount_entries: ignore mount failure if 'optional'

Serge Hallyn serge.hallyn at canonical.com
Mon Jan 28 22:57:24 UTC 2013


If 'optional' is in the mount options, then avoid failure in
mount().

Experiments suggest we could just do this checking data at
mount_entry(), but that feels less proper than using
hasmntopt() against the mntent.

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
---
 src/lxc/conf.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index 65cc2dc..63f5567 100644
--- a/src/lxc/conf.c
+++ b/src/lxc/conf.c
@@ -1502,6 +1502,9 @@ static inline int mount_entry_on_systemfs(struct mntent *mntent)
 	ret = mount_entry(mntent->mnt_fsname, mntent->mnt_dir,
 			  mntent->mnt_type, mntflags, mntdata);
 
+	if (hasmntopt(mntent, "optional") != NULL)
+		ret = 0;
+
 	free(mntdata);
 
 	return ret;
@@ -1556,6 +1559,9 @@ skipabs:
 	ret = mount_entry(mntent->mnt_fsname, path, mntent->mnt_type,
 			  mntflags, mntdata);
 
+	if (hasmntopt(mntent, "optional") != NULL)
+		ret = 0;
+
 out:
 	free(mntdata);
 	return ret;
@@ -1584,6 +1590,9 @@ static int mount_entry_on_relative_rootfs(struct mntent *mntent,
 	ret = mount_entry(mntent->mnt_fsname, path, mntent->mnt_type,
 			  mntflags, mntdata);
 
+	if (hasmntopt(mntent, "optional") != NULL)
+		ret = 0;
+
 	free(mntdata);
 
 	return ret;
-- 
1.8.0





More information about the lxc-devel mailing list