Messages in this thread |  | | Date | Tue, 21 Nov 2006 12:06:14 +0000 | From | Alan <> | Subject | Re: possible bug in ide-disk.c (2.6.18.2 but also older) |
| |
> After reading it a second time, I'll see if I got it straight now: > > .) the kernel always loads even-aligned pairs of sectors. > .) for an odd-sectored disk, this results in the GPT plus the > following (non-existent) sector being accessed from disk.
Yes
> .) the old, unmaintained ide-driver generally does not handle > the odd-size case right, as it misinterprets the harddisks > error for the second sector (the one after the end) as a > general error causing dma to be turned off, after some retries. > It would also do that, if I later accessed the last sector > (e.g. dd if=/dev/hda ..., or by accessing a file that happens > to be stored there per filesystem, if at all possible), > not just during the initial GPT-check.
Only ever seen during the partition check
> .) If I remove the "addr++;", then the harddisk is actually > believed to be 1 sector smaller than it really is, which > means that it looks like an even-sized disk. This could mean > that an eventually existing GPT could be missed. What would > be the "worst-case" consequences? > .) if ((old ide-driver) && (odd # of sectors)) youre_doomed_anyway(); ?
Not in any normal situation it appears, just the partition code seems to trip it up. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |