On Tue, Apr 26, 2016 at 10:16:49PM -0400, Theodore Ts'o wrote: > On Tue, Apr 26, 2016 at 01:14:51AM -0700, Christoph Hellwig wrote: > > I've been doing an audit of our direct I/O implementations, and most > > of them does some form of transparent fallback, including some that > > only pretend to support O_DIRECT, but do anything special for it at all, > > while at the same time we go through greast efforts to check a file > > system actualy supports direct I/O, leading to nasty no-op ->direct_IO > > implementations as we even got that abstraction wrong. > > > > At this point I wonder if we should simply treat O_DIRECT as a hint > > and always allow it, and just let the file system optimize for it > > (skip buffering, require alignment, relaxed Posix atomicy requirements) > > if it is set. > > That's fine with me, but there ought to be some way for a program to > query whether a particular file / file system is one where DIO is > supported, and if so, what the alignment requirements would be. Yes, that's called XFS_IOC_DIOINFO. We've been saying that this should be promoted to the VFS for some time, though it might be better to re-implement it with a different structure that includes padding and a flags field.... > That > way applications who care can get the information they need (and we > can use it for xfstests's _require_odirect :-). Just return EOPNOTSUPP to XFS_IOC_DIOINFO if direct io is not supported? Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- 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