From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io0-f194.google.com ([209.85.223.194]:34801 "EHLO mail-io0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S967154AbeEXVFZ (ORCPT ); Thu, 24 May 2018 17:05:25 -0400 Received: by mail-io0-f194.google.com with SMTP id p124-v6so4010524iod.1 for ; Thu, 24 May 2018 14:05:25 -0700 (PDT) Subject: Re: [PATCH 3/3] ext4: readpages() should submit IO as read-ahead From: Jens Axboe To: "Theodore Y. Ts'o" Cc: linux-fsdevel@vger.kernel.org, viro@zeniv.linux.org.uk, akpm@linux-foundation.org References: <1527177774-21414-1-git-send-email-axboe@kernel.dk> <1527177774-21414-4-git-send-email-axboe@kernel.dk> <20180524204730.GC7712@thunk.org> Message-ID: <8788630a-3317-b27e-8b4e-887cc27ce719@kernel.dk> Date: Thu, 24 May 2018 15:05:23 -0600 MIME-Version: 1.0 In-Reply-To: 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 5/24/18 2:53 PM, Jens Axboe wrote: > On 5/24/18 2:47 PM, Theodore Y. Ts'o wrote: >> On Thu, May 24, 2018 at 10:02:54AM -0600, Jens Axboe wrote: >>> a_ops->readpages() is only ever used for read-ahead. Ensure that we >>> pass this information down to the block layer. >>> >>> Signed-off-by: Jens Axboe >>> --- >>> fs/ext4/readpage.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/fs/ext4/readpage.c b/fs/ext4/readpage.c >>> index 9ffa6fad18db..92b28273b223 100644 >>> --- a/fs/ext4/readpage.c >>> +++ b/fs/ext4/readpage.c >>> @@ -259,7 +259,7 @@ int ext4_mpage_readpages(struct address_space *mapping, >>> bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9); >>> bio->bi_end_io = mpage_end_io; >>> bio->bi_private = ctx; >>> - bio_set_op_attrs(bio, REQ_OP_READ, 0); >>> + bio_set_op_attrs(bio, REQ_OP_READ, REQ_RAHEAD); >>> } >> >> The problem is that ext4_readpage() also calls ext4_mpage_readpages(). >> So you can't set REQ_RAHEAD unconditionally here. > > Oh shoot, yeah I did miss that. I'll update it, thanks Ted. Updated version: http://git.kernel.dk/cgit/linux-block/commit/?h=readpages-ahead&id=288b12ed3180530fac7d6598afd3449ec9cdfdb8 -- Jens Axboe