All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Robert Hancock <hancockrwd@gmail.com>
Cc: Phillip Susi <psusi@cfl.rr.com>,
	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: Thu, 10 Feb 2011 10:13:25 +0100	[thread overview]
Message-ID: <20110210091325.GK3770@htj.dyndns.org> (raw)
In-Reply-To: <4D534378.3050304@gmail.com>

Hello, guys.

On Wed, Feb 09, 2011 at 07:46:32PM -0600, Robert Hancock wrote:
> On 02/09/2011 06:35 PM, Phillip Susi wrote:
> >On 02/09/2011 04:41 PM, Tejun Heo wrote:
> >>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.
> >
> >What problems? Other than those caused by unlocking it in the first
> >place, and then upgrading?

The problem with pushing this type of seemingly smart workarounds is
that people gets tunnel visioned by their own narrow view of the
problem.

What happens if a drive is moved to another machine?  What about
hotplugging a drive?  What if partition detection code incorrectly
interprets a chunk of data in a RAID5 member as a partition table
(most partition tables don't have good protection against
misinterpretation)?

> >>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,
> >
> >Unless the other machine decides to change it, then it is bound to the
> >drive. It is possible that both machines will change it, but since most
> >don't bother using the HPA, it tends to be preserved when moving from a
> >machine that uses it to one that does not.

Many don't even use volatile setting and most happily override
whatever the current setting may be.  It just doesn't work.  These
BIOS features are designed with the mindset "If it works on this
motherboard and windows, we're done.  Hell with all other use cases",
which is quite different from what Linux should be aiming for.

> >>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
> >
> >Why?
> >
> >>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.
> >
> >Then why did you write a patch that seems to be a reasonable compromise
> >between the two and will allow distros to stop diverging from upstream
> >in this way, and are now arguing against that patch?

You've got it backwards.  The patch doesn't do anything for distros
which unlock by default.  On the contrary, the patch unlocks _more_ on
ones which didn't use to.  IIRC, debian didn't want to unlock by
default (the rationale was that they already had both ide and libata
userbases) and it seemed like a good enough tradeoff to avoid breaking
ide compatibility for most people.

Making the condition more intricate won't fix the problem.  It's just
gonna make it fail in more weird and convoluted ways.

> I'm inclined to agree. Unlocking HPA by default is opening up a
> potential can of worms and seems likely to cause regressions. This
> thread:
> 
> http://fossplanet.com/f10/host-protected-area-unconditional-disable-87925/
> 
> points out: "once HPA has been turned off a power cycle is needed to
> turn it back on. This can severely confuse another operating system
> when it finds the disk has changed size. In rare cases it can cause
> RAID cards to drop RAID sets on the floor thinking they are corrupt.
> All bad."
>
> I don't see a case where unlocking HPA benefits us except in the
> case of upgrading from an older distro using IDE where HPA was being
> unlocked, or in the (vanishingly unlikely these days) case where the
> HPA is used to hide the drive's full capacity from the BIOS. The
> former case would be handled by the existing logic and proposed
> patch. The latter case can be handled with a module option. I don't
> see the benefit of playing with fire and shutting off HPA all the
> time.

Hotplugging and being able to move hard drives between different
machines, and in general behaving consistently across different
hardware configurations have way higher priority than trying to avoid
confusing broken BIOSen or other operating systems in obscure
configurations.  Those problems are very rare to begin with (ubuntu
unlocks HPA by default!) and usually can be avoided by changing
configuration (or turning off HPA unlocking if it really comes down to
that).  It's just absurd to decide the default behavior based on those
fringe cases.

Thanks.

-- 
tejun

  reply	other threads:[~2011-02-10  9:13 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
2011-02-10  0:35           ` Phillip Susi
2011-02-10  1:46             ` Robert Hancock
2011-02-10  9:13               ` Tejun Heo [this message]
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=20110210091325.GK3770@htj.dyndns.org \
    --to=tj@kernel.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=ben@decadent.org.uk \
    --cc=hancockrwd@gmail.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.