Subject: Re: CVS commit: src/sys/dev/ata
To: Dave Sainty <dave@dtsp.co.nz>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: source-changes
Date: 07/05/2005 09:10:31
On Tue, Jul 05, 2005 at 07:32:04AM +1200, Dave Sainty wrote:
> Manuel Bouyer writes:
>
> > On Sat, Jul 02, 2005 at 04:29:01AM +0000, David Sainty wrote:
> > > [...]
> > > [An alternative approach is to just always drop to LBA48 if the request
> > > happens to pass by sector 0xfffffff and the drive reported as larger than
> > > 0xfffffff sectors. My understanding is that the 32 bit addressing below
> > > 0x10000000 is purely there as a performance booster, not to resolve a
> > > compatibility issue.]
> >
> > It is. Some controllers can't do LBA48 properly. Large drives on such
> > controllers currently work fine if limited to 128GB.
>
> They wouldn't be any worse off under the suggested scheme. If they
> happen to have one of the crash-on-0xfffffff drives on such a
> controller they STILL couldn't use that sector, because then the drive
> would be crashing now. And under the suggested scheme they would
> still be able to use the rest of the lower 128GB, like you suggest.
But with the current scheme, sector 0xfffffff can be accessed on
non-broken drive with non-LBA48 controllers. With your scheme such
setup would loose one sector, possibly with valuable data.
>
> However, under the existing scheme, a person with a drive in the
> forced LBA48 list could NOT use that drive with a controller that
> can't do LBA48. But under the suggested scheme those people would be
> able to use the lower 128GB like you suggest.
But there is probably no such setup in use today, as it wouldn't work
with the current code.
--
Manuel Bouyer <bouyer@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--