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;