On Tue, Dec 14, 2010 at 9:33 AM, Chris Mason <chris.mason@oracle.com> wrote:
quoted text > Excerpts from Yan, Zheng's message of 2010-11-16 20:38:23 -0500:
>> On Wed, Nov 17, 2010 at 5:22 AM, Josef Bacik <josef@redhat.com> wrote:
>> > There is a bug in find_free_extent where if we don't find a free extent in the
>> > raid type we are looking for, we loop through to the next raid type. This is
>> > not ok since we need to make sure we honor the raid types we are given. So
>> > instead kill this check and get the proper index for the raid type we want from
>> > the allocator. Thanks,
>> >
>>
>> Loop through raid types is for handling failure in the middle of raid type
>> conversion.
>
> The problem is that nothing prevents it from looping back to a raid0
> chunk when we really want raid1 or raid10. And mkfs leaves behind a
> small raid0 chunk (4MB) that is uses as it assembles all the devices.
check code at end of btrfs_read_block_groups, it prevents allocating
from raid0 when there are mirrored block groups.
quoted text >
> I confirmed that we often use the small raid0 chunk even in raid1 or
> raid10.
>
> Please take a look at this commit:
>
>
http://git.kernel.org/?p=linux/kernel/git/mason/btrfs-unstable.git;a=commit;h=83a50de9...
>
> -chris
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to
majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html