[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240306073923.333086-1-srivathsa.d.dara@oracle.com>
Date: Wed, 6 Mar 2024 07:39:23 +0000
From: Srivathsa Dara <srivathsa.d.dara@...cle.com>
To: linux-ext4@...r.kernel.org
Cc: tytso@....edu, adilger.kernel@...ger.ca,
rajesh.sivaramasubramaniom@...cle.com, junxiao.bi@...cle.com,
ritesh.list@...il.com
Subject: [PATCH v2] ext4: Enable meta_bg only when new desc blocks are needed
This patch addresses an issue observed when resize_inode is disabled
and an online extension of a filesysyem is performed. When a filesystem
is expanded to a size that does not require a addition of a new
descriptor block, the meta_bg feature is being enabled even though no
part of the filesystem uses this layout.
This patch ensures that the meta_bg feature is only enabled if
any of the added block groups utilize meta_bg layout.
Signed-off-by: Srivathsa Dara <srivathsa.d.dara@...cle.com>
---
fs/ext4/resize.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 928700d57eb6..b46a1c492c3f 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -1996,7 +1996,8 @@ int ext4_resize_fs(struct super_block *sb, ext4_fsblk_t n_blocks_count)
}
}
- if ((!resize_inode && !meta_bg) || n_blocks_count == o_blocks_count) {
+ if ((!resize_inode && !meta_bg && n_desc_blocks > o_desc_blocks) ||
+ n_blocks_count == o_blocks_count) {
err = ext4_convert_meta_bg(sb, resize_inode);
if (err)
goto out;
--
2.39.3
Powered by blists - more mailing lists