summaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2015-06-23 11:03:54 -0400
committerTheodore Ts'o <tytso@mit.edu>2015-06-23 11:03:54 -0400
commita2fd66d069d86d793e9d39d4079b96f46d13f237 (patch)
tree578e36202016798284abafd46f41c0d669524255 /fs/ext4
parent3da40c7b089810ac9cf2bb1e59633f619f3a7312 (diff)
downloadlinux-a2fd66d069d86d793e9d39d4079b96f46d13f237.tar.gz
linux-a2fd66d069d86d793e9d39d4079b96f46d13f237.tar.bz2
linux-a2fd66d069d86d793e9d39d4079b96f46d13f237.zip
ext4: set lazytime on remount if MS_LAZYTIME is set by mount
Newer versions of mount parse the lazytime feature and pass it to the mount system call via the flags field in the mount system call, removing the lazytime string from the mount options list. So we need to check for the presence of MS_LAZYTIME and set it in sb->s_flags in order for this flag to be set on a remount. Signed-off-by: Theodore Ts'o <tytso@mit.edu> Cc: stable@vger.kernel.org
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/super.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index bd4df9d379b2..90ec13fe8ac7 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -4971,6 +4971,9 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data)
set_task_ioprio(sbi->s_journal->j_task, journal_ioprio);
}
+ if (*flags & MS_LAZYTIME)
+ sb->s_flags |= MS_LAZYTIME;
+
if ((*flags & MS_RDONLY) != (sb->s_flags & MS_RDONLY)) {
if (sbi->s_mount_flags & EXT4_MF_FS_ABORTED) {
err = -EROFS;