summaryrefslogtreecommitdiff
path: root/drivers/md/raid1.c
diff options
context:
space:
mode:
authorXiao Ni <xni@redhat.com>2019-07-08 10:14:32 +0800
committerSong Liu <songliubraving@fb.com>2019-08-07 10:25:02 -0700
commit143f6e733b73051cd22dcb80951c6c929da413ce (patch)
treef146c340dd0bb7bfa465ebaede8ef9d3b1248cf7 /drivers/md/raid1.c
parent4675719d0f47d18bc13db62bd21cffd4e4ec8001 (diff)
md/raid6: Set R5_ReadError when there is read failure on parity disk
7471fb77ce4d ("md/raid6: Fix anomily when recovering a single device in RAID6.") avoids rereading P when it can be computed from other members. However, this misses the chance to re-write the right data to P. This patch sets R5_ReadError if the re-read fails. Also, when re-read is skipped, we also missed the chance to reset rdev->read_errors to 0. It can fail the disk when there are many read errors on P member disk (other disks don't have read error) V2: upper layer read request don't read parity/Q data. So there is no need to consider such situation. This is Reported-by: kbuild test robot <lkp@intel.com> Fixes: 7471fb77ce4d ("md/raid6: Fix anomily when recovering a single device in RAID6.") Cc: <stable@vger.kernel.org> #4.4+ Signed-off-by: Xiao Ni <xni@redhat.com> Signed-off-by: Song Liu <songliubraving@fb.com>
Diffstat (limited to 'drivers/md/raid1.c')
0 files changed, 0 insertions, 0 deletions