On Sat, Mar 24, 2012 at 3:12 PM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > On Wed, Mar 07, 2012 at 10:22:20PM +0100, Miklos Szeredi wrote: >> From: Miklos Szeredi <mszeredi@xxxxxxx> >> >> Split __dentry_open() into two functions: >> >> do_dentry_open() - does most of the actual work, doesn't put file on failure >> open_check_o_direct() - after a successful open, checks direct_IO method >> >> This will allow i_op->atomic_open to do just the file initialization and leave >> the direct_IO checking to the VFS. > > I think the O_DIRECT checks should move out of the VFS. The direct I/O > method isn't called from the VFS anywhere, but just from the > generic_file_* routines in filemap.c, which suggest doing the O_DIRECT > check in there as well. Returning the error at the earliest opportunity (from open as opposed to read/write) makes sense. Given that some apps may actually rely on the return value from open to verify O_DIRECT support, it doesn't seem to be a good idea to move the checks to read/write. Thanks, Miklos -- 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