On 2019/7/26 下午6:39, David Sterba wrote:
> On Fri, Jul 26, 2019 at 07:41:41AM +0800, Qu Wenruo wrote:
>>
>>
>> On 2019/7/26 上午2:37, David Sterba wrote:
>>> On Thu, Jul 18, 2019 at 02:27:49PM +0800, Qu Wenruo wrote:
>>>> RAID10 can accept as much as half of its disks to be missing, as long as
>>>> each sub stripe still has a good mirror.
>>>
>>> Can you please make a test case for that?
>>
>> Fstests one or btrfs-progs one?
> 
> For fstests.

OK, that test case in fact exposed a long-existing bug, we can't create
degraded chunks.

So if we're replacing the missing devices on a 4 disk RAID10 btrfs, we
will hit ENOSPC as we can't find 4 devices to fulfill a new chunk.
And it will finally trigger transaction abort.

Please discard this patch until we solve that problem.

Thanks,
Qu

> 
>>> I think the number of devices that can be lost can be higher than a half
>>> in some extreme cases: one device has copies of all stripes, 2nd copy
>>> can be scattered randomly on the other devices, but that's highly
>>> unlikely to happen.
>>>
>>> On average it's same as raid1, but the more exact check can potentially
>>> utilize the stripe layout.
>>>
>> That will be at extent level, to me it's an internal level violation,
>> far from what we want to improve.
> 
> Ah I don't mean to go the extent level, as you implemented it is enough
> and an improvement.
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to