mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
raid5-ppl: PPL support for disks with write-back cache enabled
In order to provide data consistency with PPL for disks with write-back cache enabled all data has to be flushed to disks before next PPL entry. The disks to be flushed are marked in the bitmap. It's modified under a mutex and it's only read after PPL io unit is submitted. A limitation of 64 disks in the array has been introduced to keep data structures and implementation simple. RAID5 arrays with so many disks are not likely due to high risk of multiple disks failure. Such restriction should not be a real life limitation. With write-back cache disabled next PPL entry is submitted when data write for current one completes. Data flush defers next log submission so trigger it when there are no stripes for handling found. As PPL assures all data is flushed to disk at request completion, just acknowledge flush request when PPL is enabled. Signed-off-by: Tomasz Majchrzak <[email protected]> Signed-off-by: Shaohua Li <[email protected]>
This commit is contained in:
parent
92e6245dea
commit
1532d9e87e
7 changed files with 195 additions and 25 deletions
|
|
@ -39,6 +39,7 @@ case the behavior is the same as in plain raid5.
|
|||
PPL is available for md version-1 metadata and external (specifically IMSM)
|
||||
metadata arrays. It can be enabled using mdadm option --consistency-policy=ppl.
|
||||
|
||||
Currently, volatile write-back cache should be disabled on all member drives
|
||||
when using PPL. Otherwise it cannot guarantee consistency in case of power
|
||||
failure.
|
||||
There is a limitation of maximum 64 disks in the array for PPL. It allows to
|
||||
keep data structures and implementation simple. RAID5 arrays with so many disks
|
||||
are not likely due to high risk of multiple disks failure. Such restriction
|
||||
should not be a real life limitation.
|
||||
|
|
|
|||
Loading…
Reference in a new issue