From patchwork Wed Aug 2 16:28:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wang Jianjian X-Patchwork-Id: 1816097 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org (client-ip=2404:9400:2221:ea00::3; helo=gandalf.ozlabs.org; envelope-from=srs0=9pqg=dt=vger.kernel.org=linux-ext4-owner@ozlabs.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=foxmail.com header.i=@foxmail.com header.a=rsa-sha256 header.s=s201512 header.b=kCxmLk8x; dkim-atps=neutral Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RGHWQ6t6Rz1ybS for ; Thu, 3 Aug 2023 02:29:54 +1000 (AEST) Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by gandalf.ozlabs.org (Postfix) with ESMTP id 4RGHWQ6GJpz4wZx for ; Thu, 3 Aug 2023 02:29:54 +1000 (AEST) Received: by gandalf.ozlabs.org (Postfix) id 4RGHWQ6ChRz4wbj; Thu, 3 Aug 2023 02:29:54 +1000 (AEST) Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: gandalf.ozlabs.org; dmarc=pass (p=none dis=none) header.from=foxmail.com Authentication-Results: gandalf.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=foxmail.com header.i=@foxmail.com header.a=rsa-sha256 header.s=s201512 header.b=kCxmLk8x; dkim-atps=neutral Authentication-Results: gandalf.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ext4-owner@vger.kernel.org; receiver=ozlabs.org) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by gandalf.ozlabs.org (Postfix) with ESMTP id 4RGHWQ66pBz4wZx for ; Thu, 3 Aug 2023 02:29:54 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231706AbjHBQ3w (ORCPT ); Wed, 2 Aug 2023 12:29:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35586 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229892AbjHBQ3v (ORCPT ); Wed, 2 Aug 2023 12:29:51 -0400 Received: from out203-205-251-60.mail.qq.com (out203-205-251-60.mail.qq.com [203.205.251.60]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0EFC11FFA for ; Wed, 2 Aug 2023 09:29:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1690993788; bh=CDRekWm6pd30PmXsiJ3YCcP2YoiZynmJooiM6qXd9ZQ=; h=From:To:Cc:Subject:Date; b=kCxmLk8x0dkMeXzq+NVfJxr3vJrPp82L7eREd2N8CBW5OLpG/xsTUR/kUikHs691s EdKv6L+AD5k3/LXI4wQk85/ASYhEUXfBG/JhzsCxG8DCpsg4ginUR0OWmSYYTTMbAP aM30CJpQPwzOZZ80IUEDV+VUop8ekwdb6zxrWCJ0= Received: from fedora.. ([2409:8a00:2577:9740:9ca5:5f74:38db:4c67]) by newxmesmtplogicsvrsza10-0.qq.com (NewEsmtp) with SMTP id 72B1AE0F; Thu, 03 Aug 2023 00:28:43 +0800 X-QQ-mid: xmsmtpt1690993723tmh2kf69l Message-ID: X-QQ-XMAILINFO: NnYhxYSyuBnLO8hH8FyElRv9gO97SjxRlUY4JItgBYfGvblIkJbQHv9DqJFCId ci021TXSWY24vG9CvxYHLxKkgXaA4UCYwqYZV0wxEy0nG2LZ6Ngrt1zDtRXQXWnBCGaIN13SIy2s DJ6jsJBF1xSrparQCu/LIb5MfkkNrwLdbYNtn2HTnFd7b1cPw0eDEd0FX1bg2QgI+kwk4CK6/oU5 HtlLBvHdcgdZrD8fgdiw0L6Pm8biJiQvRxHkRnTM4R3u5QpF4C0ocn/l7yiZHPDjZHhCm21/wOw8 mD6/5ZMmReHxL/phdjZ5inm+Xo0cV/bhNZqTT3bNS4ukYBTi3lUc33GEEpHpeuE8FdNChnrW8afd P/RYOnNbg5IUUviFxOvG/V/E3k3gC86Wo6GZpujAax3GAx981/xSqo0yik67MUC5VD1dT70+KcW4 zwSoDlHGscR6tADKw3kQuMVWtguljs5OW0xNz1mNcRBCdITLZG3NHJnTID4+51k11pv7vXcb5wZo 5BMlydpcxzqkjXLupkO7l95T7abOEVFXjygShEVgJd1KgfHDz5PeOqr68QqtDBYyA9B2qAuMvmTL TlWEBkdUg2gfQj5NZmDR8n9JgWQPICG+mFgQ5Enpe1uqFZ1gM/90J041nyg64GN/Ce77i4RNGBez pQjOXqWLqeuSFBpi4knvB/EeMm6sqTfYXXipKo1GG00g8cGbJiL0RJSBTmkaEoqYsc3n3Fs9oK/t RdP01i0f960zc2B/j/+wzJVEApkhJPRAqbD2C4hEmMdn9dlp3+IhagF2pILGZvxP82ANs2Pqsvsp U8dKkuA6fDAjmn595WtWeQuOyJ4uK+7HxKuA7VYEs/beIrJU0TNIYv+BYV4ZVi0Ak/+TmBBX1mKP 7uj6KEy1fnYhwzSV4FULy0YtujBF9afeFc2udzufHpzaF/qKLzJVQPiBxwba+zKczNjvBL2DGFV0 v2R42r7eB81Q6AUNjWjT1yN/YstDSW4RLH5kriKyfmFKEjY2urF67JhfrXl0qB7RIV5AE5IgQEtJ q0vXBOwsUiVIDb2ke/6vvSrpdic9QaVEwwnAhQ/lyfb7wlY5vV X-QQ-XMRINFO: NyFYKkN4Ny6FSmKK/uo/jdU= From: Wang Jianjian To: linux-ext4@vger.kernel.org Cc: Wang Jianjian Subject: [PATCH 1/2] ext4: Ractor one helper ext4_num_base_meta_blocks Date: Thu, 3 Aug 2023 00:28:39 +0800 X-OQ-MSGID: <20230802162840.331385-1-wangjianjian0@foxmail.com> X-Mailer: git-send-email 2.34.3 MIME-Version: 1.0 X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,HELO_DYNAMIC_IPADDR,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,RDNS_DYNAMIC,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org Factor one helper ext4_num_base_meta_blocks and use it in next change. Signed-off-by: Wang Jianjian --- fs/ext4/balloc.c | 15 +++++++++++---- fs/ext4/ext4.h | 2 ++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c index 1f72f977c6db..000056d05ce4 100644 --- a/fs/ext4/balloc.c +++ b/fs/ext4/balloc.c @@ -913,11 +913,11 @@ unsigned long ext4_bg_num_gdb(struct super_block *sb, ext4_group_t group) } /* - * This function returns the number of file system metadata clusters at + * This function returns the number of file system metadata blocks at * the beginning of a block group, including the reserved gdt blocks. */ -static unsigned ext4_num_base_meta_clusters(struct super_block *sb, - ext4_group_t block_group) +unsigned ext4_num_base_meta_blocks(struct super_block *sb, + ext4_group_t block_group) { struct ext4_sb_info *sbi = EXT4_SB(sb); unsigned num; @@ -935,8 +935,15 @@ static unsigned ext4_num_base_meta_clusters(struct super_block *sb, } else { /* For META_BG_BLOCK_GROUPS */ num += ext4_bg_num_gdb_meta(sb, block_group); } - return EXT4_NUM_B2C(sbi, num); + return num; +} + +static unsigned ext4_num_base_meta_clusters(struct super_block *sb, + ext4_group_t block_group) +{ + return EXT4_NUM_B2C(EXT4_SB(sb), ext4_num_base_meta_blocks(sb, block_group)); } + /** * ext4_inode_to_goal_block - return a hint for block allocation * @inode: inode for block allocation diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 0a2d55faa095..f9f329e1118e 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -3084,6 +3084,8 @@ extern const char *ext4_decode_error(struct super_block *sb, int errno, extern void ext4_mark_group_bitmap_corrupted(struct super_block *sb, ext4_group_t block_group, unsigned int flags); +unsigned ext4_num_base_meta_blocks(struct super_block *sb, + ext4_group_t block_group); extern __printf(7, 8) void __ext4_error(struct super_block *, const char *, unsigned int, bool, From patchwork Wed Aug 2 16:28:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wang Jianjian X-Patchwork-Id: 1816096 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org (client-ip=2404:9400:2221:ea00::3; helo=gandalf.ozlabs.org; envelope-from=srs0=9pqg=dt=vger.kernel.org=linux-ext4-owner@ozlabs.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=foxmail.com header.i=@foxmail.com header.a=rsa-sha256 header.s=s201512 header.b=jU17kqwO; dkim-atps=neutral Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RGHVr3HLwz1ybS for ; Thu, 3 Aug 2023 02:29:23 +1000 (AEST) Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by gandalf.ozlabs.org (Postfix) with ESMTP id 4RGHVg4qlNz4wZx for ; Thu, 3 Aug 2023 02:29:15 +1000 (AEST) Received: by gandalf.ozlabs.org (Postfix) id 4RGHVg4X2bz4wb0; Thu, 3 Aug 2023 02:29:15 +1000 (AEST) Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: gandalf.ozlabs.org; dmarc=pass (p=none dis=none) header.from=foxmail.com Authentication-Results: gandalf.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=foxmail.com header.i=@foxmail.com header.a=rsa-sha256 header.s=s201512 header.b=jU17kqwO; dkim-atps=neutral Authentication-Results: gandalf.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2620:137:e000::1:20; helo=out1.vger.email; envelope-from=linux-ext4-owner@vger.kernel.org; receiver=ozlabs.org) Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by gandalf.ozlabs.org (Postfix) with ESMTP id 4RGHVc72QPz4wZx for ; Thu, 3 Aug 2023 02:29:12 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231426AbjHBQ3L (ORCPT ); Wed, 2 Aug 2023 12:29:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35466 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231265AbjHBQ3K (ORCPT ); Wed, 2 Aug 2023 12:29:10 -0400 X-Greylist: delayed 6193 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Wed, 02 Aug 2023 09:29:09 PDT Received: from out203-205-251-60.mail.qq.com (out203-205-251-60.mail.qq.com [203.205.251.60]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 069F91FFA for ; Wed, 2 Aug 2023 09:29:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1690993746; bh=UR+9s2ZLz4CSRCTls3vdBBk3AwwdEi6/lRJ4wKvY0GQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=jU17kqwOE6rkhTPJvpdhY3WYIw2GsQx6dXzpPW7/Md4e0sYySonkcRfs0RQ7PFXCr 18ZFGp2pWLLhTfWE3d7Mxe8IZxxL6ASrgqgM2trPvynIB6ywZm6TfCa/o6mrZ9uj83 fHnSdY602g2kpDv+Esf8kncLtzDJNj3Z/lWbVtn8= Received: from fedora.. ([2409:8a00:2577:9740:9ca5:5f74:38db:4c67]) by newxmesmtplogicsvrsza10-0.qq.com (NewEsmtp) with SMTP id 72B1AE0F; Thu, 03 Aug 2023 00:28:43 +0800 X-QQ-mid: xmsmtpt1690993724tczbsrwph Message-ID: X-QQ-XMAILINFO: NOIkHYnr7VzdZ+GOzbPiwidcfm1yMskvpXhchdU/5acvMKoXNa/7HT3eCVSR1U 9TidFEmCOK8S4f9WiInZ3Q5rSGPxRonIzTuhomRA5vSHX8/VkMsJEiM3NwdEpVXKvZ0pD5eoHfLr RCEQ8e4lburO2VNvxvkLG/lpq3vqdWtUI3qecZ+Lvdy7W+CfAmnI7D4QXRyb7o1ASmkxmfIH4DNg bj0APCktbhhI74QusFGsCJFvaHTEUdRdwnP5gCISjx/4aOH8pHiVBN1RCL1fPyzlmq+LV4I3mllB J8aVpbAUpBLkmS+ukDurBHDdxrwa8eBG+WncLxmwSVJqT3bTVYn7NvzeGmVjzIbcErYQ+7ipQsB4 aap3FQOTDWsJ91fMSPuhYIuzA+GdDw4C5OjMVFKwDJJZEX7q9zwcPDJlpT944ch9lnM+FYq8iOOX 8IiuONDadyMmGJlJMd9PfLx2XVzslR+qeVdX+y77w3yxK2hbY29waNh3sxljmY67rWmsROiDvigt 3C79TmIfP4VJLcwhTUeeKbnD/jHpKGySwvDwHIfX4WObnWDt0lA+ie9bS5SycdBWKnVqRwdBCXpD R5YRGKP9TMQwDUseANMqv5qWBPNPzTZlhWPvCzMPA3VAUUQnzbk19EUXQVrQTx9tH+8RRL5/Qx1K MB9AZANGfpmPkWut4qlme+lrp9UVlHzmo3z/rtXSznajUl+mpaDO0TXXizpQR3GoQw7a/giTy4NV mBmDXAs8yNttKxV4VdP2Dmy3xWL+BivNpJP4AhDI5VqEuGstneXnZbPZ2nfwEQjnxF0kBbBnsC9G oKXi1fp60Aoc7IMZ5NzHHo5YOm5I+YBXQad/QTeTC8Q6W+OPtn/gSU9IXdpyHGVclPK2WbTdrd+8 Yf3Cogaz3kP0Nf847kwGQqvsbVTgn6zzF42jQL3w66vp2unHUG6qC6EP2zUVfYs1Cx1ZAcSwqe53 qZXHrvZEkdBGVHSMPnEId2Y+YTGHEtjK55Bxr66L5GhN/TptVw3LQgzjKSj9Eq9jxTBO3ZAd3MEb wR9i+Kw4uVepWCJNnHa2vitaJaBx/ogEvcDYiu2+T8vgjqIqhX X-QQ-XMRINFO: NyFYKkN4Ny6FSmKK/uo/jdU= From: Wang Jianjian To: linux-ext4@vger.kernel.org Cc: Wang Jianjian Subject: [PATCH 2/2] ext4: Add correct group descriptors and reserved GDT blocks to system zone Date: Thu, 3 Aug 2023 00:28:40 +0800 X-OQ-MSGID: <20230802162840.331385-2-wangjianjian0@foxmail.com> X-Mailer: git-send-email 2.34.3 In-Reply-To: <20230802162840.331385-1-wangjianjian0@foxmail.com> References: <20230802162840.331385-1-wangjianjian0@foxmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,HELO_DYNAMIC_IPADDR,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,RDNS_DYNAMIC,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org When setup_system_zone, flex_bg is not initialzied so it is always 1. ext4_num_base_meta_blocks() returns the meta blocks in this group including reserved GDT blocks, so let's use this helper. Signed-off-by: Wang Jianjian --- fs/ext4/block_validity.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/fs/ext4/block_validity.c b/fs/ext4/block_validity.c index 5504f72bbbbe..558e487a0b53 100644 --- a/fs/ext4/block_validity.c +++ b/fs/ext4/block_validity.c @@ -215,7 +215,6 @@ int ext4_setup_system_zone(struct super_block *sb) struct ext4_system_blocks *system_blks; struct ext4_group_desc *gdp; ext4_group_t i; - int flex_size = ext4_flex_bg_size(sbi); int ret; system_blks = kzalloc(sizeof(*system_blks), GFP_KERNEL); @@ -224,11 +223,11 @@ int ext4_setup_system_zone(struct super_block *sb) for (i=0; i < ngroups; i++) { cond_resched(); - if (ext4_bg_has_super(sb, i) && - ((i < 5) || ((i % flex_size) == 0))) { + unsigned int meta_blks = ext4_num_base_meta_blocks(sb, i); + if (meta_blks != 0) { ret = add_system_zone(system_blks, ext4_group_first_block_no(sb, i), - ext4_bg_num_gdb(sb, i) + 1, 0); + meta_blks, 0); if (ret) goto err; }