From: Artem Bityutskiy Date: Mon, 5 Jul 2010 12:15:04 +0000 (+0300) Subject: sysv: do not mark superblock dirty on remount X-Git-Tag: v2.6.36-rc1~304^2~3 X-Git-Url: http://git.cascardo.info/?a=commitdiff_plain;h=719f2c879f4dda7d7f303bd387d37cd96db29d31;p=cascardo%2Flinux.git 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 Signed-off-by: Al Viro --- 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; }