On Tue, Jan 11, 2011 at 04:13:42PM -0500, Lawrence Greenfield wrote: > > IOWs, all they want to do is avoid the unwritten extent conversion > > overhead. Time has shown that a bad security/performance tradeoff > > decision was made 13 years ago in XFS, so I see little reason to > > repeat it for ext4 today.... I suspect things may have changed somewhat; both in terms of requirements and nature of cluter file systems, and the performance of various storage systems (including PCIe-attached flash devices). > I'd make use of FALLOC_FL_EXPOSE_OLD_DATA. It's not the CPU overhead > of extent conversion. It's that extent conversion causes more metadata > operations than what you'd have otherwise, which means systems that > want to use O_DIRECT and make sure the data doesn't go away either > have to write O_DIRECT|O_DSYNC or need to call fdatasync(). > > cluster file system implementor, One possibility might be to make it an optional feature which is only enabled via a mount option. That way someone would have to explicit ask for this feature two ways (via a new flag to fallocate) and a mount option. It might not make sense for XFS, but for people who are using ext4 as the local storage file system back-end, and are doing all sorts of things to get the best performance, including disabling the journal, I suspect it really would make sense. So it could always be an optional-to-implement flag, that not all file systems should feel obliged to implement. - Ted -- 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