summaryrefslogtreecommitdiff
path: root/md.4
diff options
context:
space:
mode:
authorSong Liu <songliubraving@fb.com>2015-10-21 11:35:15 -0700
committerNeilBrown <neilb@suse.com>2015-10-22 12:19:11 +1100
commit28f83f6d3b1b3b386e60b45848b9284e2238f77f (patch)
tree07e62de02b1a84ff6bb0c77a8ef61537b33c45b5 /md.4
parent051f326550f5f2c6e3329878d2c9a5558a5a41ff (diff)
downloadmdadm-28f83f6d3b1b3b386e60b45848b9284e2238f77f.tar.gz
mdadm: Add description of write journal to md.4
Signed-off-by: Song Liu <songliubraving@fb.com> Signed-off-by: Shaohua Li <shli@fb.com> Signed-off-by: NeilBrown <neilb@suse.com>
Diffstat (limited to 'md.4')
-rw-r--r--md.420
1 files changed, 20 insertions, 0 deletions
diff --git a/md.4 b/md.4
index e955c3b..f1b88ee 100644
--- a/md.4
+++ b/md.4
@@ -874,6 +874,26 @@ 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
complete and those few bad blocks will be recorded in the bad block list.
+.SS RAID456 WRITE JOURNAL
+
+Due to non-atomicity nature of RAID write operations, interruption of
+write operations (system crash, etc.) to RAID456 array can lead to
+inconsistent parity and data loss (so called RAID-5 write hole).
+
+To plug the write hole, from Linux 4.4 (to be confirmed),
+.I md
+supports write ahead journal for RAID456. When the array is created,
+an additional journal device can be added to the array through
+.IR write-journal
+option. The RAID write journal works similar to file system journals.
+Before writing to the data disks, md persists data AND parity of the
+stripe to the journal device. After crashes, md searches the journal
+device for incomplete write operations, and replay them to the data
+disks.
+
+When the journal device fails, the RAID array is forced to run in
+read-only mode.
+
.SS WRITE-BEHIND
From Linux 2.6.14,