From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org ([198.137.202.133]:40252 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933364AbeFUR1j (ORCPT ); Thu, 21 Jun 2018 13:27:39 -0400 Subject: Re: [PATCH 2/4] mpage: mpage_readpages() should submit IO as read-ahead To: Jens Axboe , linux-fsdevel@vger.kernel.org Cc: viro@zeniv.linux.org.uk, akpm@linux-foundation.org References: <20180621010725.17813-1-axboe@kernel.dk> <20180621010725.17813-3-axboe@kernel.dk> From: Randy Dunlap Message-ID: Date: Thu, 21 Jun 2018 10:27:35 -0700 MIME-Version: 1.0 In-Reply-To: <20180621010725.17813-3-axboe@kernel.dk> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 06/20/2018 06:07 PM, Jens Axboe wrote: > a_ops->readpages() is only ever used for read-ahead, yet we don't > flag the IO being submitted as such. Fix that up. Any file system > that uses mpage_readpages() as its ->readpages() implementation > will now get this right. > > Since we're passing in whether the IO is read-ahead or not, we > don't need to pass in the 'gfp' separately, as it is dependent > on the IO being read-ahead. Kill off that member. > > Add some documentation notes on ->readpages() being purely for > read-ahead. > > Signed-off-by: Jens Axboe > --- > fs/f2fs/data.c | 5 +++++ > fs/mpage.c | 29 +++++++++++++++++++---------- > include/linux/fs.h | 4 ++++ > 3 files changed, 28 insertions(+), 10 deletions(-) > > diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c > index 8f931d699287..b7c9b58acf3e 100644 > --- a/fs/f2fs/data.c > +++ b/fs/f2fs/data.c > @@ -1421,6 +1421,11 @@ int f2fs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, > /* > * This function was originally taken from fs/mpage.c, and customized for f2fs. > * Major change was from block_size == page_size in f2fs by default. > + * > + * Note that the aops->readpages() function is ONLY used for read-ahead. If > + * this function ever deviates from doing just read-ahead, it should either > + * use ->readpage() or do the necessary surgery to decouple ->readpages() > + * readom read-ahead. eh? > */ -- ~Randy