On Wed, Apr 26, 2006 at 04:35:36PM -0700, Andrew Morton wrote: > Mark Lord <lkml@xxxxxx> wrote: > > > > > That's if we think -stable needs this fixed. > > > > Let's say a bunch of read bio's get coalesced into a single > > 200+ sector request. This then fails on one single bad sector > > out of the 200+. Without the patch, there is a very good chance > > that sd.c will simply fail the entire request, all 200+ sectors. > > > > With the patch, it will fail the first block, and then retry > > the remaining blocks. And repeat this until something works, > > or until everything has failed one by one. > > Yowch. I have the feeling that this'll take our EIO-handling time from > far-too-long to far-too-long*200. Whoa! Can't get worse. Hmm. OK. Maybe it can. It seems that IDE at least used to do the "*200" behaviour. I now issue a read for (1k-)block 1024 on my disk, which has blocks 1024 ... 1536 being bad. Kernel has decided i'm doing linear reads, so it will issue a readahead for 1024-1536. I then don't want to have the kernel continue the 1025-1536 readahead. Also, if just block 1027 is bad, a normal read of block 1024 will read the page 1024-1027, and return EIO on 1024 because it couldn't read the whole page. We've learned to live with this, but if you guys are going to look into it, keep this in mind, please.... > It's moderately hard to test, though. Easy enough for DVDs and CDs, > but it's harder to take a marker pen to a hard drive. I (accidentally) scratched a SCSI drive with a paperclip some weeks ago. 65 bad blocks. (36 files hurt). I did manage to use the paperclip to push the metal part that had fallen off the inside of the drive somewhere to a spot where I could remove it. That metal part was preventing the head from leaving the parking zone. Anyway, I have enough disks with bad blocks that I can make the following offer: Serious kernel developpers that need a drive-with-bad-blocks for testing should submit their snail-mail address. I'll see what I can do. (Specify SCSI or IDE or both). Roger Wolff R.E.Wolff@xxxxxxxxxxxxxxxxxxxx -- ** R.E.Wolff@xxxxxxxxxxxx ** http://www.BitWizard.nl/ ** +31-15-2600998 ** *-- BitWizard writes Linux device drivers for any device you may have! --* Q: It doesn't work. A: Look buddy, doesn't work is an ambiguous statement. Does it sit on the couch all day? Is it unemployed? Please be specific! Define 'it' and what it isn't doing. --------- Adapted from lxrbot FAQ - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html