linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Phillip Susi <psusi@cfl.rr.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Ben Hutchings <ben@decadent.org.uk>,
	Jeff Garzik <jgarzik@redhat.com>,
	IDE/ATA development list <linux-ide@vger.kernel.org>
Subject: Re: libata: implement on-demand HPA unlocking
Date: Wed, 9 Feb 2011 22:41:18 +0100	[thread overview]
Message-ID: <20110209214118.GA7196@atj.dyndns.org> (raw)
In-Reply-To: <4D52ECB6.4010408@cfl.rr.com>

On Wed, Feb 09, 2011 at 02:36:22PM -0500, Phillip Susi wrote:
> On 2/9/2011 10:37 AM, Alan Cox wrote:
> > Unlocking the HPA is actually necessary for sanity on a lot of systems
> 
> Right.. ones that were partitioned using an older kernel with the buggy
> behavior of unlocking it by default.

Claiming it a bug doesn't really make it a bug.  Please drop it.

> > too, and there are really no standards. Remember the primary use of HPA
> > has actually been to hide most of the disk from buggy BIOSen so that the
> > OS can then unlock it after the BIOS has stopped looking.
> 
> The ATA spec describes the HPA saying:
> 
> A reserved area for data storage outside the normal operating system
> file system is required for several
> specialized applications.

Heh, yeah, ATA spec says a lot of shit.

> This tells me that it is intended for the bios to reserve an area of the
> disk that the OS should NOT access.  So far the only use of it that I
> have seen is by bioses to hide a small area, presumably to store
> platform specific information.  I see about a dozen reports on the
> ubuntu forums and bug tracker each year of people with HPA problems and
> it always seems to be a small area, as opposed to hiding everything
> above 128 MB or something.

Yeah, nowadays.  It's not how it started tho.

> > "Should we unlock" is almost an academic debate given we are the OS and
> > control the commands sent to the drive anyway.
> 
> Again, Linus's tree does not unlock, and should not since the bios
> presumably had a reason for locking it in the first place ( it stores
> something there ).

libata didn't have HPA unlocking support at the beginning so it was
only natural to make the default to not unlock when the feature was
added.  For distros, the story is different because they migrated from
ide to libata.  ide unlocked by default so it was also natural for
them to make liata unlock it by default; otherwise, they could end up
with situation where upgrading to newer distro could break an
installation.

So, no, the situation has always been quite muddy with HPA and if you
ask me it is an inherently stupid feature bound to cause problems.
The setting is not even bound to the hard drive.  You move a hard
drive to a different machine, the size changes, hooray!  Oh right,
suspend/resume cycle can accidentally lock or unlock HPA areas on some
BIOSen and we have workaround for that in libata, yuck.

I think ide had it right all along.  We should just have unlocked
things by default when HPA unlock feature was added.  A lot of BIOSen
configure HPA for no reason anyway.  To continue the rant, I think
it's pretty silly to use fakeraid to begin with but maybe we should
just printk big ugly message to scare people away.  Ah well.

To sum up, no, not unlocking HPA by default was not a conscious
decision and neither was some distros defaulting to unlocking it.
Those decisions are all made by inertia, so please stop bringing them
up.  They don't mean much.

I think all we can do now is just let block layer publish before and
after sizes and adapt the tools accordingly.  I remember bringing the
idea quite a while ago with dmraid folks but IIRC nobody responded.  I
guess I'll make the change and hope others to take care of the rest.

I frankly don't care that much whether some silly fakeraids are broken
or not.  Maybe I should but they're so braindamanged and I just can't.

Thanks.

--
tejun

  parent reply	other threads:[~2011-02-09 21:41 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-08 20:23 libata: implement on-demand HPA unlocking Phillip Susi
2011-02-09  8:59 ` Tejun Heo
2011-02-09 15:20   ` Phillip Susi
2011-02-09 15:37     ` Alan Cox
2011-02-09 15:36       ` Tejun Heo
2011-02-09 18:48         ` Jeff Garzik
2011-02-09 19:45           ` Phillip Susi
2011-02-10  9:44             ` Tejun Heo
2011-02-10 18:47               ` Phillip Susi
2011-02-10 19:07                 ` Tejun Heo
2011-02-09 19:39         ` Phillip Susi
2011-02-09 19:36       ` Phillip Susi
2011-02-09 20:47         ` Greg Freemyer
2011-02-09 21:12           ` Phillip Susi
2011-02-09 21:13         ` Alan Cox
2011-02-09 21:28           ` Phillip Susi
2011-02-09 21:39             ` Alan Cox
2011-02-10  0:23               ` Phillip Susi
2011-02-10 12:46                 ` Alan Cox
2011-02-10 18:58                   ` Phillip Susi
2011-02-10 19:19                     ` Tejun Heo
2011-02-11 18:16                       ` Phillip Susi
2011-02-10 12:49                 ` Bartlomiej Zolnierkiewicz
2011-02-10 19:20                   ` Phillip Susi
2011-02-10 19:35                     ` Alan Cox
2011-02-11 18:22                       ` Phillip Susi
2011-02-10 19:37                     ` Alan Cox
2011-02-09 21:41         ` Tejun Heo [this message]
2011-02-10  0:35           ` Phillip Susi
2011-02-10  1:46             ` Robert Hancock
2011-02-10  9:13               ` Tejun Heo
2011-02-10 19:11                 ` Phillip Susi
2011-02-10 19:31                   ` Alan Cox
2011-02-11 18:18                     ` Phillip Susi
2011-02-11 18:25                       ` Alan Cox
2011-02-11 18:38                         ` Phillip Susi
2011-02-10 19:32                   ` Tejun Heo
2011-02-10 19:34                     ` Tejun Heo
2011-02-11 18:30                     ` Phillip Susi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110209214118.GA7196@atj.dyndns.org \
    --to=tj@kernel.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=ben@decadent.org.uk \
    --cc=jgarzik@redhat.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=psusi@cfl.rr.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).