Commit 45a4d8f
md/raid5: Allow degraded raid6 to do rmw
Degraded raid6 always do reconstruct-write now. With raid6 xor supported,
we can do rmw in degraded raid6. This patch can reduce many read IOs to
improve performance.
If the failed disk is P, Q or the disk we want to write to, we may need to
do reconstruct-write in max degraded raid6. In this situation we can not
read enough data from handle_stripe_dirtying() so we have to set force_rcw
in handle_stripe_fill() to read all data.
Reviewed-by: Alex Wu <alexwu@synology.com>
Reviewed-by: BingJing Chang <bingjingc@synology.com>
Reviewed-by: Danny Shih <dannyshih@synology.com>
Signed-off-by: ChangSyun Peng <allenpeng@synology.com>
Signed-off-by: Song Liu <songliubraving@fb.com>1 parent a1c6ae3 commit 45a4d8f
1 file changed
Lines changed: 16 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3557 | 3557 | | |
3558 | 3558 | | |
3559 | 3559 | | |
| 3560 | + | |
3560 | 3561 | | |
3561 | 3562 | | |
3562 | 3563 | | |
| |||
3615 | 3616 | | |
3616 | 3617 | | |
3617 | 3618 | | |
| 3619 | + | |
| 3620 | + | |
| 3621 | + | |
| 3622 | + | |
| 3623 | + | |
| 3624 | + | |
| 3625 | + | |
| 3626 | + | |
| 3627 | + | |
| 3628 | + | |
| 3629 | + | |
3618 | 3630 | | |
3619 | 3631 | | |
3620 | | - | |
3621 | | - | |
3622 | | - | |
3623 | | - | |
| 3632 | + | |
| 3633 | + | |
| 3634 | + | |
3624 | 3635 | | |
3625 | 3636 | | |
3626 | 3637 | | |
3627 | 3638 | | |
3628 | | - | |
3629 | | - | |
| 3639 | + | |
3630 | 3640 | | |
3631 | 3641 | | |
3632 | 3642 | | |
| |||
0 commit comments