From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-it0-f65.google.com ([209.85.214.65]:39988 "EHLO mail-it0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754580AbeFUBHb (ORCPT ); Wed, 20 Jun 2018 21:07:31 -0400 Received: by mail-it0-f65.google.com with SMTP id 188-v6so2368475ita.5 for ; Wed, 20 Jun 2018 18:07:31 -0700 (PDT) From: Jens Axboe To: linux-fsdevel@vger.kernel.org Cc: viro@zeniv.linux.org.uk, akpm@linux-foundation.org Subject: [PATCH v4 0/4] Submit ->readpages() IO as read-ahead Date: Wed, 20 Jun 2018 19:07:21 -0600 Message-Id: <20180621010725.17813-1-axboe@kernel.dk> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: The only caller of ->readpages() is from read-ahead, yet we don't submit IO flagged with REQ_RAHEAD. This means we don't see it in blktrace, for instance, which is a shame. Additionally, it's preventing further functional changes in the block layer for deadling with read-ahead more intelligently. We already make assumptions about ->readpages() just being for read-ahead in the mpage implementation, using readahead_gfp_mask(mapping) as out GFP mask of choice. This small series fixes up mpage_readpages() to submit with REQ_RAHEAD, which takes care of file systems using mpage_readpages(). The first patch is a prep patch, that makes do_mpage_readpage() take an argument structure. Changes since v3: - Add comments on ->readpages() purely being read-ahead - Rebase on current -git Changes since v2: - Get rid of 'gfp' passing once we have is_readahead - Pack struct better, makes it 8 bytes smaller. Changes since v1: - Fix ext4_mpage_readpages() also being used for regular reads - Add prep patch with struct arguments for do_mpage_readpage() fs/btrfs/extent_io.c | 2 +- fs/ext4/ext4.h | 2 +- fs/ext4/inode.c | 5 +- fs/ext4/readpage.c | 5 +- fs/f2fs/data.c | 5 ++ fs/mpage.c | 115 ++++++++++++++++++++++++------------------- include/linux/fs.h | 4 ++ 7 files changed, 80 insertions(+), 58 deletions(-) -- Jens Axboe