Document PPL in man md

Partial Parity Log (PPL) was not documented in the man md.
Added brief info about PPL.

Signed-off-by: Oleksandr Shchirskyi <oleksandr.shchirskyi@intel.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
This commit is contained in:
Oleksandr Shchirskyi 2021-01-14 13:59:20 +01:00 committed by Jes Sorensen
parent 2f86fda346
commit 0d58395412
1 changed files with 29 additions and 15 deletions

44
md.4
View File

@ -219,7 +219,7 @@ Once you have updated the layout you will not be able to mount the array
on an older kernel. If you need to revert to an older kernel, the on an older kernel. If you need to revert to an older kernel, the
layout information can be erased with the layout information can be erased with the
.B "--update=layout-unspecificed" .B "--update=layout-unspecificed"
option. If you use this option to option. If you use this option to
.B --assemble .B --assemble
while running a newer kernel, the array will NOT assemble, but the while running a newer kernel, the array will NOT assemble, but the
metadata will be update so that it can be assembled on an older kernel. metadata will be update so that it can be assembled on an older kernel.
@ -909,26 +909,40 @@ The list is particularly useful when recovering to a spare. If a few blocks
cannot be read from the other devices, the bulk of the recovery can cannot be read from the other devices, the bulk of the recovery can
complete and those few bad blocks will be recorded in the bad block list. complete and those few bad blocks will be recorded in the bad block list.
.SS RAID456 WRITE JOURNAL .SS RAID WRITE HOLE
Due to non-atomicity nature of RAID write operations, interruption of Due to non-atomicity nature of RAID write operations,
write operations (system crash, etc.) to RAID456 array can lead to interruption of write operations (system crash, etc.) to RAID456
inconsistent parity and data loss (so called RAID-5 write hole). array can lead to inconsistent parity and data loss (so called
RAID-5 write hole).
To plug the write hole md supports two mechanisms described below.
To plug the write hole, from Linux 4.4 (to be confirmed), .TP
.I md DIRTY STRIPE JOURNAL
supports write ahead journal for RAID456. When the array is created, From Linux 4.4, md supports write ahead journal for RAID456.
an additional journal device can be added to the array through When the array is created, an additional journal device can be added to
.IR write-journal the array through write-journal option. The RAID write journal works
option. The RAID write journal works similar to file system journals. similar to file system journals. Before writing to the data
Before writing to the data disks, md persists data AND parity of the disks, md persists data AND parity of the stripe to the journal
stripe to the journal device. After crashes, md searches the journal device. After crashes, md searches the journal device for
device for incomplete write operations, and replay them to the data incomplete write operations, and replay them to the data disks.
disks.
When the journal device fails, the RAID array is forced to run in When the journal device fails, the RAID array is forced to run in
read-only mode. read-only mode.
.TP
PARTIAL PARITY LOG
From Linux 4.12 md supports Partial Parity Log (PPL) for RAID5 arrays only.
Partial parity for a write operation is the XOR of stripe data chunks not
modified by the write. PPL is stored in the metadata region of RAID member drives,
no additional journal drive is needed.
After crashes, if one of the not modified data disks of
the stripe is missing, this updated parity can be used to recover its
data.
This mechanism is documented more fully in the file
Documentation/md/raid5-ppl.rst
.SS WRITE-BEHIND .SS WRITE-BEHIND
From Linux 2.6.14, From Linux 2.6.14,