From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Moyer Subject: Re: [PATCH v5] fuse: O_DIRECT support for files Date: Thu, 01 Mar 2012 15:24:15 -0500 Message-ID: References: <20120217174625.GA22569@shell.devel.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: miklos@szeredi.hu, linux-fsdevel@vger.kernel.org, fuse-devel@lists.sourceforge.net, chenk@redhat.com, josef@redhat.com To: Anand Avati Return-path: Received: from mx1.redhat.com ([209.132.183.28]:14044 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755313Ab2CAUYY (ORCPT ); Thu, 1 Mar 2012 15:24:24 -0500 In-Reply-To: <20120217174625.GA22569@shell.devel.redhat.com> (Anand Avati's message of "Fri, 17 Feb 2012 12:46:25 -0500") Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Anand Avati writes: > Implement ->direct_IO() method in aops. The ->direct_IO() method combines > the existing fuse_direct_read/fuse_direct_write methods to implement > O_DIRECT functionality. > > Reaching ->direct_IO() in the read path via generic_file_aio_read ensures > proper synchronization with page cache with its existing framework. > > Reaching ->direct_IO() in the write path via fuse_file_aio_write is made > to come via generic_file_direct_write() which makes it play nice with > the page cache w.r.t other mmap pages etc. > > On files marked 'direct_io' by the filesystem server, IO always follows > the fuse_direct_read/write path. There is no effect of fcntl(O_DIRECT) > and it always succeeds. > > On files not marked with 'direct_io' by the filesystem server, the IO > path depends on O_DIRECT flag by the application. This can be passed > at the time of open() as well as via fcntl(). > > Note that asynchronous O_DIRECT iocb jobs are completed synchronously > always (this has been the case with FUSE even before this patch) > > Signed-off-by: Anand Avati Looks good to me. Reviewed-by: Jeff Moyer