md/raid1,raid10: don't compare excess byte during consistency check.
authorNeilBrown <neilb@suse.de>
Sun, 1 Apr 2012 15:39:05 +0000 (01:39 +1000)
committerNeilBrown <neilb@suse.de>
Tue, 3 Apr 2012 05:39:23 +0000 (15:39 +1000)
commit5020ad7d143ccfcf8149974096220d59e5572120
tree0124b6866ecd63b3a8913a6661e1d96699d60b71
parentc6d2e084c7411f61f2b446d94989e5aaf9879b0f
md/raid1,raid10: don't compare excess byte during consistency check.

When comparing two pages read from different legs of a mirror, only
compare the bytes that were read, not the whole page.

In most cases we read a whole page, but in some cases with
bad blocks or odd sizes devices we might read fewer than that.

This bug has been present "forever" but at worst it might cause
a report of two many mismatches and generate a little bit
extra resync IO, so there is no need to back-port to -stable
kernels.

Reported-by: majianpeng <majianpeng@gmail.com>
Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/raid1.c
drivers/md/raid10.c