MTD RAID
Dongsheng Yang
dongsheng.yang at easystack.cn
Fri Aug 19 00:15:06 PDT 2016
In addition, current implementation actually have a retry in reading.
if (++i_copy >= raid->ncopies)
goto out;
ret = mtd_raid_ctx_retry(ctx, i_copy);
That means, we can read the good one copy from RAID-1 device even there
is one bad device.
Yang
On 08/19/2016 03:08 PM, Dongsheng Yang wrote:
>
>
> On 08/19/2016 02:49 PM, Boris Brezillon wrote:
>> Hi Dongsheng,
>>
>> On Fri, 19 Aug 2016 14:34:54 +0800
>> Dongsheng Yang <dongsheng081251 at gmail.com> wrote:
>>
>>> Hi guys,
>>> This is a email about MTD RAID.
>>>
>>> *Code:*
>>> kernel:
>>> https://github.com/yangdongsheng/linux/tree/mtd_raid_v2-for-4.7
>> Just had a quick look at the code, and I see at least one major problem
>> in your RAID-1 implementation: you're ignoring the fact that NAND blocks
>> can be or become bad. What's the plan for that?
>
> Hi Boris,
> Thanx for your quick reply.
>
> When you are using RAID-1, it would erase the all mirrored blockes
> when you are erasing.
> if there is a bad block in them, mtd_raid_erase will return an error
> and the userspace tool
> or ubi will mark this block as bad, that means, the
> mtd_raid_block_markbad() will mark the all
> mirrored blocks as bad, although some of it are good.
>
> In addition, when you have data in flash with RAID-1, if one block
> become bad. For example,
> when the mtd0 and mtd1 are used to build a RAID-1 device mtd2. When
> you are using mtd2
> and you found there is a block become bad. Don't worry about data
> losing, the data is still
> saved in the good one mirror. you can replace the bad one device with
> another new mtd device.
>
> My plan about this feature is all on the userspace tool.
> (1). mtd_raid scan mtd2 <---- this will show the status of RAID device
> and each member of it.
> (2). mtd_raid replace mtd2 --old mtd1 --new mtd3. <---- this will
> replace the bad one mtd1 with mtd3.
>
> What about this idea?
>
> Yang
>>
>> Regards,
>>
>> Boris
>>
>> ______________________________________________________
>> Linux MTD discussion mailing list
>> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>>
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
More information about the linux-mtd
mailing list