From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6821FC433E2 for ; Wed, 9 Sep 2020 09:49:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 13F5521D79 for ; Wed, 9 Sep 2020 09:49:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729449AbgIIJta (ORCPT ); Wed, 9 Sep 2020 05:49:30 -0400 Received: from mx2.suse.de ([195.135.220.15]:53974 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726005AbgIIJtT (ORCPT ); Wed, 9 Sep 2020 05:49:19 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 65CA1B15D; Wed, 9 Sep 2020 09:49:19 +0000 (UTC) From: Nikolay Borisov To: linux-btrfs@vger.kernel.org Cc: Nikolay Borisov Subject: [PATCH 00/10] Cleanup metadata page reading path Date: Wed, 9 Sep 2020 12:49:04 +0300 Message-Id: <20200909094914.29721-1-nborisov@suse.com> X-Mailer: git-send-email 2.17.1 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org This series streamlines the page read path for metadata pages. Currently __do_readpage is shared between ordinary data inodes as well as the btree_inode. This is unnecenssary and brings clutter to the interface of __do_readpage et al in the form of needlessly passed parameters and unnecessary actions performed in btree_get_extent just to appease the interface/logic of __do_readpage. To simplify the code metadata read is switched from calling __do_readpage to directly calling submit_extent_page in read_extent_buffer_pages which is sufficient to grab metadata pages. This in turn paves the way for further cleanups by removing a lot of arguments from top level functions and sinking them in lowe-level worker functions. Patch 1 and 2 remove unused function and a parameter from btrfs_get_extent. Patch 3 switches read_extent_buffer_pages (sole metadata read path) to using submit_extent_page which enables further simplifications. Following patches now-unused functions and removes certain indirection now that __do_readpage is used only for data read. Every patch has survived a -g quick and the overall series survived a full xfstest run. Nikolay Borisov (10): btrfs: Remove btree_readpage btrfs: Remove pg_offset from btrfs_get_extent btrfs: Simplify metadata pages reading btrfs: Remove btree_get_extent btrfs: Remove btrfs_get_extent indirection from __do_readpage btrfs: Remove mirror_num argument from extent_read_full_page btrfs: Promote extent_read_full_page to btrfs_readpage btrfs: Sink mirror_num argument in extent_read_full_page btrfs: Sink read_flags argument into extent_read_full_page btrfs: Sink mirror_num argument in __do_readpage fs/btrfs/ctree.h | 3 +- fs/btrfs/disk-io.c | 53 -------------------------- fs/btrfs/disk-io.h | 3 -- fs/btrfs/extent_io.c | 74 ++++++++++++------------------------ fs/btrfs/extent_io.h | 10 +++-- fs/btrfs/file.c | 12 +++--- fs/btrfs/inode.c | 37 +++++++++--------- fs/btrfs/ioctl.c | 2 +- fs/btrfs/tests/inode-tests.c | 42 ++++++++++---------- 9 files changed, 79 insertions(+), 157 deletions(-) -- 2.17.1