tech-kern archive

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


On Tue, Dec 15, 2009 at 05:37:34PM +0100, Manuel Bouyer wrote:
> On Tue, Dec 15, 2009 at 05:25:47PM +0100, Christoph Badura wrote:
> > The check I proposed in the patch effectively is:
> > 
> > if (drive supports LBA48) {
> >     if (transfer accesses sectors beyond 0xffffffe)
> >             use LBA48 transfer;
> but that's wrong, for some drives 0xffffffe should be 0xfffffff

Why is that wrong?  *All* sectors (from 0 to max capacity) are accessible in
LBA48 mode with LBA48 commands.  So even for LBA48 drives that report
0x10000000 as the LBA28 capacity, accessing sectors from 0xffffffe up
with LBA48 commands works.  Do such drives actually exist?

> Sure. But some drives report it as 0x10000000. This is why I suggest
> using the content of word 60:61 instead of a constant.

Why?  The contents of that word tell you how many sectors are accessible
with LBA28 commands.  The same sectors are accessible with LBA48 commands,
too.  So there is little gain in using LBA48 commands to access them.


Home | Main Index | Thread Index | Old Index