Hi Ritesh, > -----Original Message----- > From: Ritesh Harjani <ritesh.list@xxxxxxxxx> > Sent: Wednesday, March 6, 2024 9:32 AM > To: Srivathsa Dara <srivathsa.d.dara@xxxxxxxxxx>; linux-ext4@xxxxxxxxxxxxxxx > Cc: tytso@xxxxxxx; adilger.kernel@xxxxxxxxx; Rajesh Sivaramasubramaniom <rajesh.sivaramasubramaniom@xxxxxxxxxx>; Junxiao Bi <junxiao.bi@xxxxxxxxxx> > Subject: Re: [PATCH] ext4: Enable meta_bg only when new desc blocks are needed > > Srivathsa Dara <srivathsa.d.dara@xxxxxxxxxx> writes: > > > This patch addresses an issue observed when resize_inode is disabled > > Other than "meta_bg unwatedly getting enabled when not required", is there any other issue you observed? Yes, we have seen an issue where a data block is being corrupted by group descriptor block because of this. The following patch fixes that issue. ext4: fix corruption during on-line resize commit: 3a944549dd26ccaf1f898a4be952e75a42bf37dd > > > 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. > > Make sense to me. > > > > > Signed-off-by: Srivathsa Dara <srivathsa.d.dara@xxxxxxxxxx> > > --- > > fs/ext4/resize.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c index > > 928700d57eb6..99b52f26e818 100644 > > --- a/fs/ext4/resize.c > > +++ b/fs/ext4/resize.c > > @@ -1996,7 +1996,7 @@ 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) { > > Beyond 80 chars line. You might want to fix that. Sorry, I missed that, will send a V2. > > -ritesh > > > err = ext4_convert_meta_bg(sb, resize_inode); > > if (err) > > goto out; > > -- > > 2.39.3 Thanks, Srivathsa Dara