[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120327224032.GE11236@thunk.org>
Date: Tue, 27 Mar 2012 15:40:32 -0700
From: Ted Ts'o <tytso@....edu>
To: Eric Sandeen <sandeen@...hat.com>
Cc: ext4 development <linux-ext4@...r.kernel.org>,
Lukáš Czerner <lczerner@...hat.com>
Subject: Re: [PATCH] libext2: clear BG_BLOCK_UNINIT in any group containing
metadata
On Thu, Feb 23, 2012 at 12:20:15PM -0600, Eric Sandeen wrote:
> Running a test like the m_uninit test runs:
>
> # mke2fs -F -o Linux -O uninit_bg testfs 131072
>
> results in groups which have blocks allocated for metadata, but
> which still have the BLOCK_UNINIT flag set:
>
> Group 2: (Blocks 16385-24576) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
> Checksum 0x17c2, unused inodes 2048
> Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
> Inode table at 16387-16642 (+2)
Sorry for the delay in getting back to you. The general rule here is
what triggers BLOCK_UNINIT getting cleared is when we allocate
metadata blocks for *another* block group in that block group. When
we initialize an uninitialized block group, it's easy enough to set
the bits for the block group's allocation bitmaps and inode tables.
However, we *don't* want to have to scan all of the block groups to
see if they have metadata blocks appearing in a particular block
group, so that's the reason for this rule.
So in the above dumpe2fs output, since we aren't using flex_bg, the
only metadata blocks which are in a bg is the bg's own metadata
blocks, and so that's why it's OK for BLOCK_UNINIT to be set. This
isn't a bug.
- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists