Aneesh Kumar K.V wrote:
On Fri, Jan 11, 2008 at 03:04:08PM +0100, Valerie Clement wrote:
Hi,

I've got problems with mballoc when I create the ext4 filesystem with the "uninit_groups" option enabled.

First, I do a single test on a filesystem created without the "uninit_groups" option and mounted with the defaults option:
  dd if=/dev/zero of=/mnt/test/foo bs=1M count=1024

In this case, the file blocks are allocated in the groups 4, 5, 6, 7, 8, 9, 10.

When the filesystem is created with the "uninit_groups" option enabled and mounted with the defaults option, I do the same dd command.

In this case, the file blocks are allocated in the groups 5, 7, 9, 25, 27, 49, 81. It seems that the blocks could be allocated only in the already initialized groups.


That is because we skip the uninitialized group in ext4_mb_good_group.
I guess we are trying criteria 0 allocation and we skip uninit group for
criteria 0 . You can tune by setting higher value for
/proc/fs/ext4/partition/orders2_req. Setting it to a high value would
skip criteria 0 allocation for small requests.

Hi Aneesh,
thanks for your answer but I'm not sure your solution is the right one to fix the problem.

I added traces in the mballoc code and found perhaps something incorrect: while running the dd command, the function ext4_mb_init_cache() is called, which calls ext4_init_block_bitmap() for an uninitialized group. But the flag EXT4_BG_BLOCK_UNINIT is not reset after. Shouldn't it be reset here?

I guess you are using delayed allocation ?
Yes

  Valérie
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to