]> git.proxmox.com Git - mirror_lxc.git/commitdiff
conf: the atime flags are locked in userns
authorChristian Brauner <christian.brauner@ubuntu.com>
Wed, 18 Jul 2018 16:09:21 +0000 (18:09 +0200)
committerChristian Brauner <christian.brauner@ubuntu.com>
Tue, 24 Jul 2018 12:59:39 +0000 (14:59 +0200)
This means they need to be added for remount and for fresh mounts.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/conf.c

index 1ff2f5e0a89e97e12ee542be9248e363ff93a1c5..c5d6f5b13fbcce65673ce92c08c868515c2f9fb1 100644 (file)
@@ -609,9 +609,6 @@ unsigned long add_required_remount_flags(const char *s, const char *d,
        struct statvfs sb;
        unsigned long required_flags = 0;
 
-       if (!(flags & MS_REMOUNT))
-               return flags;
-
        if (!s)
                s = d;
 
@@ -622,14 +619,27 @@ unsigned long add_required_remount_flags(const char *s, const char *d,
        if (ret < 0)
                return flags;
 
-       if (sb.f_flag & MS_NOSUID)
-               required_flags |= MS_NOSUID;
-       if (sb.f_flag & MS_NODEV)
-               required_flags |= MS_NODEV;
-       if (sb.f_flag & MS_RDONLY)
-               required_flags |= MS_RDONLY;
-       if (sb.f_flag & MS_NOEXEC)
-               required_flags |= MS_NOEXEC;
+       if (flags & MS_REMOUNT) {
+               if (sb.f_flag & MS_NOSUID)
+                       required_flags |= MS_NOSUID;
+               if (sb.f_flag & MS_NODEV)
+                       required_flags |= MS_NODEV;
+               if (sb.f_flag & MS_RDONLY)
+                       required_flags |= MS_RDONLY;
+               if (sb.f_flag & MS_NOEXEC)
+                       required_flags |= MS_NOEXEC;
+       }
+
+       if (sb.f_flag & MS_NOATIME)
+               required_flags |= MS_NOATIME;
+       if (sb.f_flag & MS_NODIRATIME)
+               required_flags |= MS_NODIRATIME;
+       if (sb.f_flag & MS_LAZYTIME)
+               required_flags |= MS_LAZYTIME;
+       if (sb.f_flag & MS_RELATIME)
+               required_flags |= MS_RELATIME;
+       if (sb.f_flag & MS_STRICTATIME)
+               required_flags |= MS_STRICTATIME;
 
        return flags | required_flags;
 #else