[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190814095135.GB23465@poseidon.bobrowski.net>
Date: Wed, 14 Aug 2019 19:51:37 +1000
From: Matthew Bobrowski <mbobrowski@...browski.org>
To: "Darrick J. Wong" <darrick.wong@...cle.com>
Cc: RITESH HARJANI <riteshh@...ux.ibm.com>, linux-ext4@...r.kernel.org,
linux-fsdevel@...r.kernel.org, jack@...e.cz, tytso@....edu
Subject: Re: [PATCH 4/5] ext4: introduce direct IO write code path using
iomap infrastructure
On Tue, Aug 13, 2019 at 07:35:40AM -0700, Darrick J. Wong wrote:
> On Tue, Aug 13, 2019 at 10:58:42PM +1000, Matthew Bobrowski wrote:
> > On Mon, Aug 12, 2019 at 10:34:29PM +0530, RITESH HARJANI wrote:
> > > > +
> > > > + if (ret >= 0 && iov_iter_count(from)) {
> > > > + overwrite ? inode_unlock_shared(inode) : inode_unlock(inode);
> > > > + return ext4_buffered_write_iter(iocb, from);
> > > > + }
> > > should not we copy code from "__generic_file_write_iter" which does below?
> > >
> > > 3436 /*
> > > 3437 * We need to ensure that the page cache pages are
> > > written to
> > > 3438 * disk and invalidated to preserve the expected
> > > O_DIRECT
> > > 3439 * semantics.
> > > 3440 */
> >
> > Hm, I don't see why this would be required seeing as though the page cache
> > invalidation semantics pre and post write are handled by iomap_dio_rw() and
> > iomap_dio_complete(). But, I could be completely wrong here, so we may need to
> > wait for some others to provide comments on this.
>
> iomap_dio_rw is supposed to zap the page cache before the write and
> again afterwards (and whine if someone is racing buffered and direct
> writes to the same file location), so ext4 shouldn't need to do that
> itself.
Thanks for confirming Darrick! I thought that was the case.
--M
Powered by blists - more mailing lists