Re: ide-cd.c, "MEDIUM_ERROR" handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon Apr 17, 2006 at 08:18:39PM -0500, Zinx Verituse wrote:
> I recently bought a DVD drive which appears to not retry enough when it's
> having trouble reading a disc - I'm requesting an option (or changing the
> default behavior) so that this drive is actually usable with the Linux
> ide-cd drivers - specificly, the code:
> 	} else if (sense_key == MEDIUM_ERROR) {
> 		/* No point in re-trying a zillion times on a bad
> 		 * sector...  If we got here the error is not correctable */
> 		ide_dump_status (drive, "media error (bad sector)", stat);
> 		do_end_request = 1;
> 	}
> needs to be disabled for my drive to read CDs properly.

When I originally added this code, the problem I was seeing was
the ide layer was doing 8 retires before it returned to ide-cd,
which then did 8 retries itself.  Thus processing a bad sector
caused no less than 64 reads of the bad sector, all of which
failed, and each of which took a fair amount of time, thereby
keeping user space stuck in D state for over 10 minutes on a
single syscall, which seemed rather bad form...

When I added this code, I was relying on the ide layer to
continue to do its ritualistic 8 retries, after which I assumed
that no further retries would be likely to help and there was no
reason for ide-cd to keep thrashing on the already proven to be
dead sector.  For my purposes, this helped considerably reduce
the amount of time stuck in D state while processing CDs with bad
sectors (such as trying to recover the data off my kid's
massively scratched up game CDs).

 -Erik

--
Erik B. Andersen             http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--
-
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]
  Powered by Linux