lkml.org 
[lkml]   [2009]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    SubjectRe: [PATCH 4/4] ide: preserve Host Protected Area by default
    Date
    On Sunday 31 May 2009 16:39:39 Bartlomiej Zolnierkiewicz wrote:
    > From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    > Subject: [PATCH] ide: preserve Host Protected Area by default
    >
    > From the perspective of most users of recent systems, disabling Host
    > Protected Area (HPA) can break vendor RAID formats, GPT partitions and
    > risks corrupting firmware or overwriting vendor system recovery tools.
    >
    > Unfortunately the original (kernels < 2.6.30) behavior (unconditionally
    > disabling HPA and using full disk capacity) was introduced at the time
    > when the main use of HPA was to make the drive look small enough for the
    > BIOS to allow the system to boot with large capacity drives.
    >
    > Thus to allow the maximum compatibility with the existing setups (using
    > HPA and partitioned with HPA disabled) we automatically disable HPA if
    > any partitions overlapping HPA are detected. Additionally HPA can also
    > be disabled using the "nohpa" module parameter (i.e. "ide_core.nohpa=0.0"
    > to disable HPA on /dev/hda).
    >
    > While at it:
    > - remove stale "idebus=" entry from Documentation/kernel-parameters.txt
    >
    > Cc: Robert Hancock <hancockrwd@gmail.com>
    > Cc: Frans Pop <elendil@planet.nl>
    > Cc: "Andries E. Brouwer" <Andries.Brouwer@cwi.nl>
    > Cc: Al Viro <viro@zeniv.linux.org.uk>
    > [patch description was based on input from Alan Cox and Frans Pop]
    > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

    v2 interdiff

    v2:
    Fix ->resume HPA support.
    ---
    ide-disk.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff -u b/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
    --- b/drivers/ide/ide-disk.c
    +++ b/drivers/ide/ide-disk.c
    @@ -433,8 +433,11 @@
    goto out;

    set = ide_disk_hpa_set_capacity(drive, set, lba48);
    - if (set)
    + if (set) {
    + /* needed for ->resume to disable HPA */
    + drive->dev_flags |= IDE_DFLAG_NOHPA;
    return set;
    + }
    out:
    return drive->capacity64;
    }

    \
     
     \ /
      Last update: 2009-06-02 00:03    [W:0.022 / U:30.152 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site