On Tue, Nov 23, 2010 at 12:03:14AM +1100, Nick Piggin wrote: > On Thu, Nov 18, 2010 at 03:16:57PM +0100, Christoph Hellwig wrote: > > On Fri, Nov 19, 2010 at 01:13:55AM +1100, Nick Piggin wrote: > > > >> Anyway, what if writeback noticed pagecache was cleaned at this point, and then > > > >> clears I_DIRTY bits from inode before you test it above? Won't that leave your > > > >> metadata not on disk? > > > > > > I'm not sure if you answered this, though. Can't background writeout go through > > > and clear the I_DIRTY_* bits on your inode, so that a subsequent fsync will skip > > > required writeout because i_state is clean, but your private dirty > > > bits are still set? > > > > > > That was my (poorly worded) concern. > > > > Good point - we should just skip the sync_inode_metadata for that case. > > Which already is a no-op if no dirty bits are set, so just removing the > > I_DIRTY check probably is the best thing we can do here. > > Hmm, it seems that your dirty bit handling is still broken and racy, > along with half the other filesystems. I'll post a couple of patches to > fsdevel for comment. Actually now I look at your updated patch, perhaps it is not. What version does that patch apply against? Do you have a tree or tarball uploaded anywhere? Or can you repost the full series? Thanks, Nick -- 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