]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
Using 'add-required_remount_flags' function to add required flags 1706/head
authorLi Feng <lifeng68@huawei.com>
Mon, 24 Jul 2017 08:26:52 +0000 (16:26 +0800)
committerLi Feng <lifeng68@huawei.com>
Mon, 24 Jul 2017 08:26:52 +0000 (16:26 +0800)
Signed-off-by: Li Feng <lifeng68@huawei.com>
src/lxc/bdev/lxcdir.c
src/lxc/conf.c
src/lxc/conf.h

index 0778df1ccfca28f14533fb0fb30b629721376bdd..48287ddedfb754f0bebc8748a32e15c30e924b25 100644 (file)
@@ -136,6 +136,7 @@ int dir_mount(struct bdev *bdev)
        unsigned long mntflags;
        char *src, *mntdata;
        int ret;
+       unsigned long mflags;
 
        if (strcmp(bdev->type, "dir"))
                return -22;
@@ -154,7 +155,8 @@ int dir_mount(struct bdev *bdev)
        if ((0 == ret) && (mntflags & MS_RDONLY)) {
                DEBUG("remounting %s on %s with readonly options",
                        src ? src : "(none)", bdev->dest ? bdev->dest : "(none)");
-               ret = mount(src, bdev->dest, "bind", MS_BIND | MS_REC | mntflags | MS_REMOUNT, mntdata);
+               mflags = add_required_remount_flags(src, bdev->dest, MS_BIND | MS_REC | mntflags | MS_REMOUNT);
+               ret = mount(src, bdev->dest, "bind", mflags, mntdata);
        }
 
        free(mntdata);
index f27c4aceac31ff34fb5b4deb24244370ff3b1775..c8dba54578379f05f83656b26183608560426118 100644 (file)
@@ -628,7 +628,7 @@ int pin_rootfs(const char *rootfs)
  * If we are asking to remount something, make sure that any
  * NOEXEC etc are honored.
  */
-static unsigned long add_required_remount_flags(const char *s, const char *d,
+unsigned long add_required_remount_flags(const char *s, const char *d,
                unsigned long flags)
 {
 #ifdef HAVE_STATVFS
index 82da42e33e61997a60c27d0d5169f89aac957130..8150c3744972ac00122e593c89b66139b59939c3 100644 (file)
@@ -481,4 +481,7 @@ void remount_all_slave(void);
 extern void suggest_default_idmap(void);
 FILE *make_anonymous_mount_file(struct lxc_list *mount);
 struct lxc_list *sort_cgroup_settings(struct lxc_list* cgroup_settings);
+unsigned long add_required_remount_flags(const char *s, const char *d,
+               unsigned long flags);
+
 #endif