Red Hat Bugzilla – Bug 169329
infinite retry with RAID1 with a single disk that has bad blocks
Last modified: 2007-04-18 13:31:52 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050328 Fedora/1.7.6-1.2.5
Description of problem:
I had a RAID 1 mirror when one disk failed. When backing up the data on the remaining disk, I found that it had bad blocks for a few files -- i.e. it had errors when trying to read the files. The RAID1 kernel driver repeatedly tried to retry the failed read until the system was rebooted. No I/O errors were returned. Mounting the partition without using the RAID software just tried to read the blocks once and then returned an I/O error.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Get a disk with bad blocks.
2. Set it up as a RAID 1 disk with only one disk (i.e. one failed disk, one running one)
3. Somehow allocate a file that uses those bad blocks.
4. Read the file (cat it).
See /var/log/messages in the attachment. The lines with
raid1: hdc4: rescheduling sector 36551664
raid1: hdc4: redirecting sector 36551664 to another mirror
point to a problem in the kernel in drivers/md/raid1.c where it doesn't
check to see if there is only one disk in the set before retrying a
failed I/O operation.
Also, from comparing raid1.c from 2.6.10-1.771_FC2smp and kernel.org's
18.104.22.168, it appears that the bug is also in the mainline kernel.
Created attachment 119287 [details]
/var/log/messages output showing problem
This doesn't seem to be important enough to fix just on its own, so mark it DEFER.
Not a security issue.