There is a bug in md/raid which is fixed by this patch.
The patch should apply to almost any 2.6 kernel.
A fix has already been submitted to akpm/linus for 2.6.14.
This patch should be included in 2.6.13.5 (if there is one).
The problem occurs if:
two or more raid arrays share a physical device and
two or more of them require recovery (onto a spare) and
one or more is 'DELAYED' waiting for another to finish and
the -resync thread receives SIGKILL, as can happen during
shutdown (init send SIGKILL to everything) if the arrays are not
first stopped with 'mdadm -Ss' or 'raidstop -a'.
The problem is that the recovery will appear to be complete, but no
data will have been copied onto the 'spare' drive that is now a
full part of the array. Naturally this can result in data
corruption.
To avoid this problem (until the patch is applied), do not shutdown
a computer will any array that reports "resync=DELAYED" in
/proc/mdstat - stop the array first with 'mdadm -Ss'.
Signed-off-by: Neil Brown <[email protected]>
### Diffstat output
./drivers/md/md.c | 1 +
1 file changed, 1 insertion(+)
diff ./drivers/md/md.c~current~ ./drivers/md/md.c
--- ./drivers/md/md.c~current~ 2005-10-19 12:48:59.000000000 +1000
+++ ./drivers/md/md.c 2005-10-19 12:49:04.000000000 +1000
@@ -3486,6 +3486,7 @@ static void md_do_sync(mddev_t *mddev)
try_again:
if (signal_pending(current)) {
flush_signals(current);
+ set_bit(MD_RECOVERY_INTR, &mddev->recovery);
goto skip;
}
ITERATE_MDDEV(mddev2,tmp) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]