On Tue, Dec 06 2016, Artur Paszkiewicz wrote: > This series of patches implements the Partial Parity Log for RAID5 arrays. The > purpose of this feature is closing the RAID Write Hole. It is a solution > alternative to the existing raid5-cache, but the implementation is based on it > and reuses some of the code by introducing support for interchangeable > policies. This allows decoupling policy from mechanism and not adding more > boilerplate code in raid5.c. > > The issue addressed by PPL is, that on a dirty shutdown, parity for a > particular stripe may be inconsistent with data on other member disks. In > degraded state, there is no way to recalculate parity, because one of the disks > is missing. PPL addresses this issue and allows recalculating the parity. It > stores only enough data needed for recovering from RWH and is not a true > journal, like the raid5-cache implementation. It does not protect from losing > in-flight data. > > PPL is a distributed log - data is stored on all RAID member drives in the > metadata area. It does not need a dedicated journaling drive. Performance is > reduced by up to 30%-40% but it scales with the number of drives in the array > and the journaling drive does not become a bottleneck. I would expect to see as description of what a PPL actually is and how it works here... but there is none. The change-log for patch 06 has a tiny bit more information which is just enough to be able to start trying to understand the code, but it isn't much. And none of this description gets into the code, or into the Documentation/. This makes it hard to review and hard to maintain. Remember: if you want people to review you code, it is in your interest to make it easy. That means give lots of details. NeilBrown
Attachment:
signature.asc
Description: PGP signature