summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Maiolino <cmaiolino@redhat.com>2017-06-29 11:25:40 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2017-06-30 02:21:06 +0200
commita8e2b6367794e6cee9eecba6d5ff425f338e0754 (patch)
treedf6a37f24748795a1426909f905742e908610172
parentfs/dcache: init in_lookup_hashtable (diff)
downloadlinux-a8e2b6367794e6cee9eecba6d5ff425f338e0754.tar.xz
linux-a8e2b6367794e6cee9eecba6d5ff425f338e0754.zip
Make statfs properly return read-only state after emergency remount
Emergency remount (sysrq-u) sets MS_RDONLY to the superblock but doesn't set MNT_READONLY to the mount point. Once calculate_f_flags() only check for the mount point read only state, when setting kstatfs flags, after an emergency remount, statfs does not report the filesystem as read-only, even though it is. Enable flags_by_sb() to also check for superblock read only state, so the kstatfs and consequently statfs can properly show the read-only state of the filesystem. Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--fs/statfs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/statfs.c b/fs/statfs.c
index 4e4623c7a126..c1dfc374e3c1 100644
--- a/fs/statfs.c
+++ b/fs/statfs.c
@@ -38,6 +38,8 @@ static int flags_by_sb(int s_flags)
flags |= ST_SYNCHRONOUS;
if (s_flags & MS_MANDLOCK)
flags |= ST_MANDLOCK;
+ if (s_flags & MS_RDONLY)
+ flags |= ST_RDONLY;
return flags;
}