All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kemeng Shi <shikemeng@huaweicloud.com>
To: tytso@mit.edu, adilger.kernel@dilger.ca,
	linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v3 04/13] ext4: remove gdb backup copy for meta bg in setup_new_flex_group_blocks
Date: Sun, 27 Aug 2023 01:47:03 +0800	[thread overview]
Message-ID: <20230826174712.4059355-5-shikemeng@huaweicloud.com> (raw)
In-Reply-To: <20230826174712.4059355-1-shikemeng@huaweicloud.com>

Wrong check of gdb backup in meta bg as following:
first_group is the first group of meta_bg which contains target group, so
target group is always >= first_group. We check if target group has gdb
backup by comparing first_group with [group + 1] and [group +
EXT4_DESC_PER_BLOCK(sb) - 1]. As group >= first_group, then [group + N] is
> first_group. So no copy of gdb backup in meta bg is done in
setup_new_flex_group_blocks.

No need to do gdb backup copy in meta bg from setup_new_flex_group_blocks
as we always copy updated gdb block to backups at end of
ext4_flex_group_add as following:

ext4_flex_group_add
  /* no gdb backup copy for meta bg any more */
  setup_new_flex_group_blocks

  /* update current group number */
  ext4_update_super
    sbi->s_groups_count += flex_gd->count;

  /*
   * if group in meta bg contains backup is added, the primary gdb block
   * of the meta bg will be copy to backup in new added group here.
   */
  for (; gdb_num <= gdb_num_end; gdb_num++)
    update_backups(...)

In summary, we can remove wrong gdb backup copy code in
setup_new_flex_group_blocks.

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Reviewed-by: Theodore Ts'o <tytso@mit.edu>
---
 fs/ext4/resize.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 9cb9ed968599..667381180b26 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -560,13 +560,8 @@ static int setup_new_flex_group_blocks(struct super_block *sb,
 		if (meta_bg == 0 && !ext4_bg_has_super(sb, group))
 			goto handle_itb;
 
-		if (meta_bg == 1) {
-			ext4_group_t first_group;
-			first_group = ext4_meta_bg_first_group(sb, group);
-			if (first_group != group + 1 &&
-			    first_group != group + EXT4_DESC_PER_BLOCK(sb) - 1)
-				goto handle_itb;
-		}
+		if (meta_bg == 1)
+			goto handle_itb;
 
 		block = start + ext4_bg_has_super(sb, group);
 		/* Copy all of the GDT blocks into the backup in this group */
-- 
2.30.0


  parent reply	other threads:[~2023-08-26  9:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-26 17:46 [PATCH v3 00/13] fixes and cleanups to ext4 resize Kemeng Shi
2023-08-26 17:47 ` [PATCH v3 01/13] ext4: correct offset of gdb backup in non meta_bg group to update_backups Kemeng Shi
2023-08-26 17:47 ` [PATCH v3 02/13] ext4: add missed brelse in update_backups Kemeng Shi
2023-08-26 17:47 ` [PATCH v3 03/13] ext4: correct return value of ext4_convert_meta_bg Kemeng Shi
2023-08-26 17:47 ` Kemeng Shi [this message]
2023-08-26 17:47 ` [PATCH v3 05/13] ext4: fix typo in setup_new_flex_group_blocks Kemeng Shi
2023-08-26 17:47 ` [PATCH v3 06/13] ext4: remove redundant check of count Kemeng Shi
2023-08-26 17:47 ` [PATCH v3 07/13] ext4: remove commented code in reserve_backup_gdb Kemeng Shi
2023-08-26 17:47 ` [PATCH v3 08/13] ext4: calculate free_clusters_count in cluster unit in verify_group_input Kemeng Shi
2023-08-26 17:47 ` [PATCH v3 09/13] ext4: remove EXT4FS_DEBUG defination in resize.c Kemeng Shi
2023-08-26 17:47 ` [PATCH v3 10/13] ext4: use saved local variable sbi instead of EXT4_SB(sb) Kemeng Shi
2023-08-26 17:47 ` [PATCH v3 11/13] ext4: simplify the gdbblock calculation in add_new_gdb_meta_bg Kemeng Shi
2023-08-26 17:47 ` [PATCH v3 12/13] ext4: remove unnecessary check to avoid repeat update_backups for the same gdb Kemeng Shi
2023-08-26 17:47 ` [PATCH v3 13/13] ext4: remove unnecessary initialization of count2 in set_flexbg_block_bitmap Kemeng Shi
2023-10-06 18:06 ` [PATCH v3 00/13] fixes and cleanups to ext4 resize Theodore Ts'o

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230826174712.4059355-5-shikemeng@huaweicloud.com \
    --to=shikemeng@huaweicloud.com \
    --cc=adilger.kernel@dilger.ca \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.