Re: [PATCH 03/25] vfs: split __dentry_open()

From: Miklos Szeredi
Date: Mon Mar 26 2012 - 09:22:14 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/