Re: [PATCH 01/31] tune2fs: Don't convert block # to cluster # when clearing uninit_bg

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 3 Oct 2013, Darrick J. Wong wrote:

> Date: Thu, 3 Oct 2013 12:04:44 -0700
> From: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> To: Lukáš Czerner <lczerner@xxxxxxxxxx>
> Cc: tytso@xxxxxxx, linux-ext4@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH 01/31] tune2fs: Don't convert block # to cluster # when
>     clearing uninit_bg
> 
> On Thu, Oct 03, 2013 at 06:53:38PM +0200, Lukáš Czerner wrote:
> > On Mon, 30 Sep 2013, Darrick J. Wong wrote:
> > 
> > > Date: Mon, 30 Sep 2013 18:26:49 -0700
> > > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> > > To: tytso@xxxxxxx, darrick.wong@xxxxxxxxxx
> > > Cc: linux-ext4@xxxxxxxxxxxxxxx
> > > Subject: [PATCH 01/31] tune2fs: Don't convert block # to cluster # when
> > >     clearing uninit_bg
> > > 
> > > When we're constructing the initial block bitmap as part of removing the
> > > gdt_csum (i.e. uninit_bg) feature, we mustn't convert the block numbers to
> > > cluster numbers because ext2fs_mark_block_bitmap2() does this for us.
> > 
> > I wonder if it's possible to use the old-style bitmap interface (the
> > one which does not understand 64-bit bitmaps). If so, then you also
> > need to fix ext2fs_mark_generic_bmap() (and others) so that we
> > convert blocks to clusters if needed.
> 
> It's possible to do this (bad thing) by not specifying EXT2_FLAG_64BITS when
> calling ext2fs_openfs(); see patch 26 for a quick fix.
> 
> (I'm imagining that most bigalloc users probably want 64bit anyway?)
> 
> (No idea, bigalloc isn't (currently) my use case.)

Fair enough. The patch no. 26 seems to do the trick.

Thanks!
-Lukas

> 
> --D
> > 
> > Thanks!
> > -Lukas
> > 
> > > 
> > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> > > ---
> > >  misc/tune2fs.c |   13 +++++--------
> > >  1 file changed, 5 insertions(+), 8 deletions(-)
> > > 
> > > 
> > > diff --git a/misc/tune2fs.c b/misc/tune2fs.c
> > > index ddf3259..52247e0 100644
> > > --- a/misc/tune2fs.c
> > > +++ b/misc/tune2fs.c
> > > @@ -820,20 +820,17 @@ static void disable_uninit_bg(ext2_filsys fs, __u32 csum_feature_flag)
> > >  	/* The bbitmap is zeroed; we must mark group metadata blocks in use */
> > >  	for (i = 0; i < fs->group_desc_count; i++) {
> > >  		b = ext2fs_block_bitmap_loc(fs, i);
> > > -		ext2fs_mark_block_bitmap2(fs->block_map, EXT2FS_B2C(fs, b));
> > > +		ext2fs_mark_block_bitmap2(fs->block_map, b);
> > >  		b = ext2fs_inode_bitmap_loc(fs, i);
> > > -		ext2fs_mark_block_bitmap2(fs->block_map, EXT2FS_B2C(fs, b));
> > > +		ext2fs_mark_block_bitmap2(fs->block_map, b);
> > >  
> > >  		retval = ext2fs_super_and_bgd_loc2(fs, i, &b, &c, &d, NULL);
> > >  		if (retval == 0 && b)
> > > -			ext2fs_mark_block_bitmap2(fs->block_map,
> > > -						  EXT2FS_B2C(fs, b));
> > > +			ext2fs_mark_block_bitmap2(fs->block_map, b);
> > >  		if (retval == 0 && c)
> > > -			ext2fs_mark_block_bitmap2(fs->block_map,
> > > -						  EXT2FS_B2C(fs, c));
> > > +			ext2fs_mark_block_bitmap2(fs->block_map, c);
> > >  		if (retval == 0 && d)
> > > -			ext2fs_mark_block_bitmap2(fs->block_map,
> > > -						  EXT2FS_B2C(fs, d));
> > > +			ext2fs_mark_block_bitmap2(fs->block_map, d);
> > >  		if (retval) {
> > >  			com_err("disable_uninit_bg", retval,
> > >  				"while initializing block bitmaps");
> > > 
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> > > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux