[PATCH] md: fix possible problem in raid1/raid10 error overwriting
authorNeilBrown <neilb@suse.de>
Fri, 6 Jan 2006 08:20:37 +0000 (00:20 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 6 Jan 2006 16:34:06 +0000 (08:34 -0800)
commit097426f689f179747f3cd6b4749eb2a6b605702d
tree92b0a78f8aebedd4afdb52dfa23b311a4468719d
parent2604b703b6b3db80e3c75ce472a54dfd0b7bf9f4
[PATCH] md: fix possible problem in raid1/raid10 error overwriting

The code to overwrite/reread for addressing read errors in raid1/raid10
currently assumes that the read will not alter the buffer which could be used
to write to the next device.  This is not a safe assumption to make.

So we split the loops into a overwrite loop and a separate re-read loop, so
that the writing is complete before reading is attempted.

Cc: Paul Clements <paul.clements@steeleye.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/md/raid1.c
drivers/md/raid10.c