• NeilBrown's avatar
    md/raid1: restore ability for check and repair to fix read errors. · 1877db75
    NeilBrown authored
    commit 30bc9b53
        md/raid1: fix bio handling problems in process_checks()
    
    Move the bio_reset() to a point before where BIO_UPTODATE is checked,
    so that check now always report that the bio is uptodate, even if it is not.
    
    This causes process_check() to sometimes treat read-errors as
    successful matches so the good data isn't written out.
    
    This patch preserves the flag until it is needed.
    
    Bug was introduced in 3.11, but backported to 3.10-stable (as it fixed
    an even worse bug).  So suitable for any -stable since 3.10.
    Reported-and-tested-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
    Cc: stable@vger.kernel.org (3.10+)
    Fixed: 30bc9b53Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    1877db75
raid1.c 86.5 KB