diff options
author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2010-07-05 08:15:04 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-08-09 16:48:58 -0400 |
commit | 719f2c879f4dda7d7f303bd387d37cd96db29d31 (patch) | |
tree | f6ca528a094e07b6eb4e1f6a497250b6654e551a /fs | |
parent | 315671f3b8091bc8e15035ffeba5f7bff7b8edec (diff) |
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')
-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) | |||
71 | lock_super(sb); | 71 | lock_super(sb); |
72 | if (sbi->s_forced_ro) | 72 | if (sbi->s_forced_ro) |
73 | *flags |= MS_RDONLY; | 73 | *flags |= MS_RDONLY; |
74 | if (!(*flags & MS_RDONLY)) | 74 | if (*flags & MS_RDONLY) |
75 | sb->s_dirt = 1; | 75 | sysv_write_super(sb); |
76 | unlock_super(sb); | 76 | unlock_super(sb); |
77 | return 0; | 77 | return 0; |
78 | } | 78 | } |