Subject: Re: linux-next: manual merge of the akpm-current tree with the btrfs tree

From: Christoph Hellwig <[email-masked]>
Date: Fri, 26 Feb 2021 06:16:26 +0100

On Fri, Feb 26, 2021 at 10:32:50AM +1100, Stephen Rothwell wrote:
> > >  -	return filemap_read(iocb, to, ret);
> > >  +	if (iocb->ki_flags & IOCB_NOWAIT)
> > >  +		iocb->ki_flags |= IOCB_NOIO;
> > >  +
> > > - 	ret = generic_file_buffered_read(iocb, to, ret);
> > > ++	ret = filemap_read(iocb, to, ret);
> > >  +
> > >  +	if (iocb->ki_flags & IOCB_NOWAIT) {
> > >  +		iocb->ki_flags &= ~IOCB_NOIO;
> > >  +		if (ret == 0)
> > >  +			ret = -EAGAIN;
> > >  +	}
> > >  +
> > >  +	return ret;
> > >   }

I think the above code looks completely bogus.  Instead whatever code
in btrfs hecks for IOCB_NOIO to avoid blocking readahead should also
check IOCB_NOWAIT.