On Tue, 28 Apr 2009 18:00:26 +0200, Christoph Hellwig wrote: > We just did a full fs writeout using sync_filesystem before, and if > that's not enough for the filesystem it can perform it's own writeout > in ->put_super, which many filesystems already do. > > Move a call to foofs_write_super into every foofs_put_super for now to > guarantee identical behaviour until it's cleaned up by the individual > filesystem maintainers. > > Exceptions: > > - affs already has identical copy & pasted code at the beginning of > affs_put_super so no need to do it twice. > - xfs does the right thing without it and I have changes pending for > the xfs tree touching this are so I don't really need conflicts > here.. > > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> <snip> > =================================================================== > --- linux-2.6.orig/fs/nilfs2/super.c 2009-04-28 17:45:49.459482526 +0200 > +++ linux-2.6/fs/nilfs2/super.c 2009-04-28 17:51:02.967608854 +0200 > @@ -65,6 +65,7 @@ MODULE_DESCRIPTION("A New Implementation > "(NILFS)"); > MODULE_LICENSE("GPL"); > > +static void nilfs_write_super(struct super_block *sb); > static int nilfs_remount(struct super_block *sb, int *flags, char *data); > static int test_exclusive_mount(struct file_system_type *fs_type, > struct block_device *bdev, int flags); > @@ -315,6 +316,9 @@ static void nilfs_put_super(struct super > struct nilfs_sb_info *sbi = NILFS_SB(sb); > struct the_nilfs *nilfs = sbi->s_nilfs; > > + if (sb->s_dirt) > + nilfs_write_super(sb); > + > nilfs_detach_segment_constructor(sbi); > > if (!(sb->s_flags & MS_RDONLY)) { Ack-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> This nilfs_write_super could be deleted, too. I'll queue an addition later as needed. Thanks, Ryusuke Konishi -- 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