diff options
author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2010-07-05 15:15:04 +0300 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-08-09 16:48:58 -0400 |
commit | 719f2c879f4dda7d7f303bd387d37cd96db29d31 (patch) | |
tree | f6ca528a094e07b6eb4e1f6a497250b6654e551a /fs/sysv/inode.c | |
parent | 315671f3b8091bc8e15035ffeba5f7bff7b8edec (diff) | |
download | lwn-719f2c879f4dda7d7f303bd387d37cd96db29d31.tar.gz lwn-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/inode.c')
-rw-r--r-- | fs/sysv/inode.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/sysv/inode.c b/fs/sysv/inode.c index 613a5056e880..de44d067b9e6 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; } |