Host Protected Area unconditional disable

Andy Whitcroft apw at
Wed Dec 22 11:29:51 GMT 2010

Traditionally we have turned off Host Protected Area (HPA) on drives
when it was detected.  Once we had installs in the field in those mode
we were then unable to turn HPA back on without breaking older installs
which used the extra space.  The flip side has always been that 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.

We have long had a request to turn off the unconditional disabling of
HPA [1].  However as mentioned above this would render those who had
made use of the protected space in their partitions unbootable.  The
solution seemed to be to try and work without disabling HPA and only
disable it if partition access requires it.

It seems that in v2.6.35 a series of patches were committed to mainline
which handle this situation in exactly the suggested manner, the following
commits are those which extended the existing IDE functionality to
ATA drives:

    libata: implement on-demand HPA unlocking
    libata: use the enlarged capacity after late HPA unlock
    SCSI: implement sd_unlock_native_capacity()

It therefore seems that from v2.6.35 we should be able to drop our force
disable of HPA in the commit below.  

  commit eaea8ccbd3adf0b36942ae834eaa825094772c95
  Author: Scott James Remnant <scott at>
  Date: Tue Mar 3 14:20:01 2009 +0000

    UBUNTU: SAUCE: (no-up) libata: Ignore HPA by default.

I am therefore proposing we drop this latter patch for Natty and see who
screams (I am hoping there will be none).  We might want to get a call
for testing out on this feature for natty-alpha-2.




More information about the kernel-team mailing list