[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190829114740.GC2486@poseidon.bobrowski.net>
Date: Thu, 29 Aug 2019 21:47:41 +1000
From: Matthew Bobrowski <mbobrowski@...browski.org>
To: Dave Chinner <david@...morbit.com>
Cc: Jan Kara <jack@...e.cz>, linux-ext4@...r.kernel.org,
linux-fsdevel@...r.kernel.org, tytso@....edu, riteshh@...ux.ibm.com
Subject: Re: [PATCH 4/5] ext4: introduce direct IO write code path using
iomap infrastructure
On Thu, Aug 29, 2019 at 08:32:18AM +1000, Dave Chinner wrote:
> On Wed, Aug 28, 2019 at 10:26:19PM +0200, Jan Kara wrote:
> > On Mon 12-08-19 22:53:26, Matthew Bobrowski wrote:
> > > @@ -235,6 +244,34 @@ static ssize_t ext4_write_checks(struct kiocb *iocb, struct iov_iter *from)
> > > return iov_iter_count(from);
> > > }
> > >
> > > +static ssize_t ext4_buffered_write_iter(struct kiocb *iocb,
> > > + struct iov_iter *from)
> > > +{
> > > + ssize_t ret;
> > > + struct inode *inode = file_inode(iocb->ki_filp);
> > > +
> > > + if (!inode_trylock(inode)) {
> > > + if (iocb->ki_flags & IOCB_NOWAIT)
> > > + return -EOPNOTSUPP;
> > > + inode_lock(inode);
> > > + }
> >
> > Currently there's no support for IOCB_NOWAIT for buffered IO so you can
> > replace this with "inode_lock(inode)".
>
> IOCB_NOWAIT is supported for buffered reads. It is not supported on
> buffered writes (as yet), so this should return EOPNOTSUPP if
> IOCB_NOWAIT is set, regardless of whether the lock can be grabbed or
> not.
Noted! Thank you Dave. ;-)
--M
Powered by blists - more mailing lists