From: Serge Hallyn Date: Mon, 28 Jan 2013 22:57:24 +0000 (-0600) Subject: setup_mount_entries: ignore mount failure if 'optional' X-Git-Tag: lxc-0.9.0.alpha3~1^2~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=68c152ef7a2fe18f71cb73a4800501a7c008bf46;p=thirdparty%2Flxc.git setup_mount_entries: ignore mount failure if 'optional' 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 Acked-by: Stéphane Graber --- diff --git a/src/lxc/conf.c b/src/lxc/conf.c index 65cc2dccb..63f5567af 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;