When marking or clearing the dirty bit, sync the filesystem Signed-off-by: Mikulas Patocka <mikulas@xxxxxxxxxxxxxxxxxxxxxxxx> --- fs/hpfs/super.c | 3 +++ 1 file changed, 3 insertions(+) Index: linux-2.6.39-rc5-fast/fs/hpfs/super.c =================================================================== --- linux-2.6.39-rc5-fast.orig/fs/hpfs/super.c 2011-05-05 01:02:47.000000000 +0200 +++ linux-2.6.39-rc5-fast/fs/hpfs/super.c 2011-05-05 01:02:52.000000000 +0200 @@ -27,6 +27,7 @@ static void mark_dirty(struct super_bloc sb->dirty = 1; sb->old_wrote = 0; mark_buffer_dirty(bh); + sync_dirty_buffer(bh); brelse(bh); } } @@ -40,10 +41,12 @@ static void unmark_dirty(struct super_bl struct buffer_head *bh; struct hpfs_spare_block *sb; if (s->s_flags & MS_RDONLY) return; + sync_blockdev(s->s_bdev); if ((sb = hpfs_map_sector(s, 17, &bh, 0))) { sb->dirty = hpfs_sb(s)->sb_chkdsk > 1 - hpfs_sb(s)->sb_was_error; sb->old_wrote = hpfs_sb(s)->sb_chkdsk >= 2 && !hpfs_sb(s)->sb_was_error; mark_buffer_dirty(bh); + sync_dirty_buffer(bh); brelse(bh); } } -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html