• NeilBrown's avatar
    md/raid10: avoid reading from known bad blocks - part 1 · 856e08e2
    NeilBrown authored
    This patch just covers the basic read path:
     1/ read_balance needs to check for badblocks, and return not only
        the chosen slot, but also how many good blocks are available
        there.
     2/ read submission must be ready to issue multiple reads to
        different devices as different bad blocks on different devices
        could mean that a single large read cannot be served by any one
        device, but can still be served by the array.
        This requires keeping count of the number of outstanding requests
        per bio.  This count is stored in 'bi_phys_segments'
    
    On read error we currently just fail the request if another target
    cannot handle the whole request.  Next patch refines that a bit.
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    856e08e2
raid10.c 69.1 KB