Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Apr 2019 16:04:18 +1000 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        avg@FreeBSD.org
Cc:        bugs@freebsd.org
Subject:   Re: [Bug 202712] [cam] [ata] System doesn't recognize older hdd after boot
Message-ID:  <20190423154851.A9443@besplex.bde.org>
In-Reply-To: <bug-202712-227-ujClAushAB@https.bugs.freebsd.org/bugzilla/>
References:  <bug-202712-227@https.bugs.freebsd.org/bugzilla/> <bug-202712-227-ujClAushAB@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 22 Apr 2019 a bug that doesn't want replies@freebsd.org wrote:

> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202712
>
> --- Comment #21 from Andriy Gapon <avg@FreeBSD.org> ---
> (In reply to Domagoj Hranjec from comment #20)
> And my point is that I am not sure if you have actually tested reading from the
> end of the disk with the older FreeBSD.  I am not sure that the older FreeBSD
> reads sectors at the end for tasting and that any of the files you accessed
> have blocks sufficiently close to the end.
> But I do not insist that my hypothesis is correct.
> Bruce has suggested another one, for instance.

Old ATA also has, and sometimes uses, a feature of limiting the drive's size
reported by the IDENTIFY command (IIRC, the struct contains the limited and
unlimited sizes, but old drivers only look in the old parts of the struct
which only have the limited size).

Even without that, if the drive supports both CHS and LBA and the driver
changes between them, there is a chance of getting different sizes depending
only whether the last "cylinder" ink the fake geometry can be partial.  Old
CHS geometries are closer to physical.  Not so old drives that support LBA
usually have a non-physical geometry with 15 fake heads, and also round the
total number of sectors so that the last cylinder in the fake geometry isn't
partial.

Usually the total number of sectors reported in the boot messages is the
actual number of accessible sectors for the current configuration, so you
can tell if there are unreadable blocks at the end are from this number
changing.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190423154851.A9443>