• Nigel Croxon's avatar
    raid5: don't increment read_errors on EILSEQ return · 0a43d5d4
    Nigel Croxon authored
    [ Upstream commit b76b4715
    
     ]
    
    While MD continues to count read errors returned by the lower layer.
    If those errors are -EILSEQ, instead of -EIO, it should NOT increase
    the read_errors count.
    
    When RAID6 is set up on dm-integrity target that detects massive
    corruption, the leg will be ejected from the array.  Even if the
    issue is correctable with a sector re-write and the array has
    necessary redundancy to correct it.
    
    The leg is ejected because it runs up the rdev->read_errors beyond
    conf->max_nr_stripes.  The return status in dm-drypt when there is
    a data integrity error is -EILSEQ (BLK_STS_PROTECTION).
    Signed-off-by: default avatarNigel Croxon <ncroxon@redhat.com>
    Signed-off-by: default avatarSong Liu <songliubraving@fb.com>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    0a43d5d4
raid5.c 240 KB