Re: Off-by-one in both LIBATA and IDE drivers

From: Norman Diamond
Date: Wed Mar 11 2009 - 17:04:28 EST


Sergei Shtylyov wrote:
Norman Diamond wrote:
[attribution stolen:]
[Norman Diamond:]
It looks like both LIBATA and the old IDE drivers
have an off-by-one error in deciding whether to use
READ SECTOR(S) instead of READ SECTOR(S) EXT.

This was fixed here:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=97b697a11b07e2ebfa69c488132596cc5eb24119

Thank you.
I will see if I can port that fix to 2.6.24.3, because
Slax 6.0.3 and kernel 2.6.24.3 avoided some other bugs of
later kernels.

Note that this doesn't fix it for the IDE core.

That helps explain my subsequent testing. I'm still having problems.

The ide-disk driver however seems to use LBA48 regardless of the sector address.

But that doesn't explain my subsequent testing. That behaviour would cause it to work in one of my present cases, but it still fails.

But still there are incorrect capacity checks, and it can fails with drivers not supporting LBA48 with DMA...

Yeah that could be part of it. 2.6.20 turned on DMA more often than later kernels, so I'm now thinking of reverting to 2.6.20. I've heard (but couldn't test personally) that 2.6.20 gave abysmal performance to users of AMD chipsets. Since Intel users outnumber them, I'm inclined to revert to a version that worked for Intel even though AMD suffers.

--------------------------------------
Power up the Internet with Yahoo! Toolbar.
http://pr.mail.yahoo.co.jp/toolbar/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/