On Mon, 5 Dec 2011 08:14:13 -0500, Chris Mason wrote:
> On Mon, Dec 05, 2011 at 04:10:49PM +0800, Miao Xie wrote:
>> Hi, Chris and Oliva
>>
>> On thu, 1 Dec 2011 10:39:55 -0500, Chris Mason wrote:
>>> git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git 
>>> for-linus
>>>
>>> Has our current set of fixes.  This is fairly small, Alexandre Oliva has
>>> been chasing problems in our block allocator and kicked out important
>>> fixes.
>>>
>>> Jan Schmidt fixed a merge error in the raid repair code, we're now
>>> properly repairing failed blocks (io errors or crc errors) without
>>> having to run a scrub.
>>>
>>> Alexandre Oliva (5) commits (+8/-8):
>>>     Btrfs: skip block groups without enough space for a cluster (+1/-1)
>>
>> This patch introduce a bug that we can not allocate blocks from the cluster
>> with enough space and it may make the block allocation fail.
>>
>> This is because the check that the above patch introduced make the allocator
>> skip the cluster allocation, and jump to the uncluster allocation without
>> reclaiming all the blocks in the cluster, At this time, if all the free space
>> is in the cluster, and no space in the block group, the allocation will fail.
>> (we can trigger this bug on SSD.)
>>
>> Fortunately, the following patch written by Oliva can fix this bug.
>>
>> [PATCH 08/20] Btrfs: try to allocate from cluster even at LOOP_NO_EMPTY_SIZE
> 
> Thanks, I'll push this 08/20 out as well.

I'm sorry for my careless test.
I tested it again just now, I found the above patch could not fix the bug 
completely,
we still need

  [PATCH 16/20] Btrfs: try cluster but don't advance in search list

After applying these two patch, all my test can pass.

Thanks
Miao
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to