summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2015-02-02 14:03:28 +1100
committerNeilBrown <neilb@suse.de>2015-02-04 08:35:51 +1100
commitea664c8245f3d5e78d05d1250bc0be0d60e264af (patch)
treeaedfd219092b1c2a4f08a4e743b058d8e87e350c /lib
parenta9d56950f763fa3e9d831541e62d223197d2ff60 (diff)
md/raid5: need_this_block: tidy/fix last condition.
That last condition is unclear and over cautious. There are two related issues here. If a partial write is destined for a missing device, then either RMW or RCW can work. We must read all the available block. Only then can the missing blocks be calculated, and then the parity update performed. If RMW is not an option, then there is a complication even without partial writes. If we would need to read a missing device to perform the reconstruction, then we must first read every block so the missing device data can be computed. This is the case for RAID6 (Which currently does not support RMW) and for times when we don't trust the parity (after a crash) and so are in the process of resyncing it. So make these two cases more clear and separate, and perform the relevant tests more thoroughly. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions