Andreas Dilger wrote: > On May 15, 2008 11:00 -0500, Eric Sandeen wrote: >> ... the fsync change seems sane too... >> >> @@ -85,7 +86,10 @@ int ext3_sync_file(struct file * file, s >> .sync_mode = WB_SYNC_ALL, >> .nr_to_write = 0, /* sys_fsync did this */ >> }; >> + journal_t *journal = EXT3_SB(inode->i_sb)->s_journal; >> ret = sync_inode(inode, &wbc); >> + if (journal && (journal->j_flags & JFS_BARRIER)) >> + blkdev_issue_flush(inode->i_sb->s_bdev, NULL); >> } >> out: >> >> I assume we need that for some power-plug-pull scenarios ... in fact I >> had just been meaning to do something similar after reading an old >> thread on barriers. reiserfs & xfs do this already in their sync paths. > > Wouldn't it make more sense to add this into the generic do_fsync() > routine? blkdev_issue_flush() depends on barrier support: submit_bio(1 << BIO_RW_BARRIER, bio); and I think only the filesystem can know for sure if it has barriers currently in use and available? -Eric -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html