On 27/01/18 05:47, mostafa kishani wrote: > Dear All, > > I am going to make some modifications to RAID protocol to make it more > reliable for my case (for a scientific, and maybe later, industrial > purpose). For example, I'm going to hold a Global Parity (a parity > taken across the whole data stripe rather than a row) Except that what do you mean by "row"? Aren't you using it as just another word for "stripe"? alongside normal > row-wise parities, to cope with an extra sector/page failure per > stripe. Do you have any suggestion how can I implement this with a > moderate effort (I mean what functions should be modified)? have any > of you had any similar effort? If I understand you correctly, that's easy. Raid-5 has one parity block per stripe, enabling it to recover from one lost disk. Raid-6 has two parity stripes, enabling it to recover from two lost disks, or one random corrupted block. Nobody's tried to do it, but it's a simple extension of the current setup ... why don't you implement what I call "raid-6+", where you can have as many parity disks as you like - in your case three. You'd need to take the current raid-6 code and extend it - ignore raid-5 because while the principle is the same, the detail is much simpler and cannot be extended. > I also appreciate if you guide me how can I enable DEBUG mode in mdadm. > Can't help there, I'm afraid. Cheers, Wol -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html