Re: [PATCH 4/4 v2] ext4: Do not discard group with BLOCK_UNINIT set
From: Ted Ts'o <tytso@mit.edu>
Date: 2012-03-06 22:18:18
From: Ted Ts'o <tytso@mit.edu>
Date: 2012-03-06 22:18:18
On Fri, Mar 02, 2012 at 01:11:58PM +0100, Lukas Czerner wrote:
Because the BLOCK_UNINIT is only set on mke2fs time and cleared when allocation from that group takes place we know that when set, there was not anything allocated from that group, hence there should not be anything to discard from the file system point of view.
There's a really good reason to set BLOCK_UNINIT once we have noticed that all of the blocks in the block group have been released.... If you have a 3TB HDD, running e2fsck takes 4 times as long if all of the block groups have BLOCK_UNINIT cleared, compared to a freshly mkfs'ed file system. As a result of my getting really annoyed at how long it took in this case, I'm planning on making e2fsck clear BLOCK_UNINIT if possible, so that subsequent e2fsck's (and dumpe2fs and debugfs invocations) can also be fast. - Ted