summaryrefslogtreecommitdiff
path: root/fs/sysv
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2010-07-05 15:15:04 +0300
committerAl Viro <viro@zeniv.linux.org.uk>2010-08-09 16:48:58 -0400
commit719f2c879f4dda7d7f303bd387d37cd96db29d31 (patch)
treef6ca528a094e07b6eb4e1f6a497250b6654e551a /fs/sysv
parent315671f3b8091bc8e15035ffeba5f7bff7b8edec (diff)
downloadlinux-3.10-719f2c879f4dda7d7f303bd387d37cd96db29d31.tar.gz
linux-3.10-719f2c879f4dda7d7f303bd387d37cd96db29d31.tar.bz2
linux-3.10-719f2c879f4dda7d7f303bd387d37cd96db29d31.zip
sysv: do not mark superblock dirty on remount
No need to mark the superblock as dirty in sysv_remount, synchronize it instead (only if mounting R/O). I did not find any docs about this file-system, and I have no possibility to test my changes. Thus, this is untested. I see other issues in sysv, e.g., why sysv_sync_fs writes only in the FSTYPE_SYSV4 case? However, it marks its SB bh's dirty for all types, and does not wait for them ever. With zero docs I'm unable to fix this. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/sysv')
-rw-r--r--fs/sysv/inode.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/sysv/inode.c b/fs/sysv/inode.c
index 613a5056e88..de44d067b9e 100644
--- a/fs/sysv/inode.c
+++ b/fs/sysv/inode.c
@@ -71,8 +71,8 @@ static int sysv_remount(struct super_block *sb, int *flags, char *data)
lock_super(sb);
if (sbi->s_forced_ro)
*flags |= MS_RDONLY;
- if (!(*flags & MS_RDONLY))
- sb->s_dirt = 1;
+ if (*flags & MS_RDONLY)
+ sysv_write_super(sb);
unlock_super(sb);
return 0;
}