Skip to contentSkip to conversation

2.6.24.*/2.6.25.*: attempt to access beyond end of device

DISCUSSION Peter Klotz 3 participants 4 messages May 12, 2008 libata

lore
Share & tools
lore
#0 lore raw

I compiled several kernel.org kernels (2.6.24.3, 2.6.24.7, 2.6.25.1, 2.6.25.3) but when booting them up the following messages appear:

attempt to access beyond end of device
sda: rw=0, want=273956253, limit=268435455 Buffer I/O error on device sda3, logical block 39085952 attempt to access beyond end of device
sda: rw=0, want=273956254, limit=268435455 Buffer I/O error on device sda3, logical block 39085953 attempt to access beyond end of device
...
attempt to access beyond end of device
sda: rw=0, want=273956255, limit=268435455 attempt to access beyond end of device
sda: rw=0, want=273956256, limit=268435455 attempt to access beyond end of device

There is no problem when using the supplied kernel of Ubuntu 8.04 (2.6.24-16.30).

I tracked the problem down to this difference in the dmesg output of the bootup sequences:

2.6.24-16.30 (Ubuntu 8.04):

ata1.00: HPA unlocked: 268435455 -> 312581808, native 312581808 ata1.00: ATA-8: SAMSUNG HM160HC, LQ100-10, max UDMA/100 ata1.00: 312581808 sectors, multi 16: LBA48

2.6.24.7:

ata1.00: HPA detected: current 268435455, native 312581808 ata1.00: ATA-8: SAMSUNG HM160HC, LQ100-10, max UDMA/100 ata1.00: 268435455 sectors, multi 16: LBA48

The HDD is 160GB in size, so 312581808 sectors seem much more logical than 268435455 sectors. It seems that kernel.org kernels limit the HDD to 128GiB.

Here the "fdisk -l" output:

 user@centrino:~$ sudo fdisk -l /dev/sda

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0008e799

    Device Boot      Start         End      Blocks   Id  System
 /dev/sda1   *           1          31      248976   83  Linux
 /dev/sda2              32       14620   117186142+  83  Linux
 /dev/sda3           14621       17053    19543072+   7  HPFS/NTFS

I may have been lucky up to now because I only use partitions sda1 and sda2 on this drive.

Any help regarding this issue is appreciated.

Please CC me since I am no list member.

Best regards, Peter.

#1 lore raw
Quoted 9 lines

I tracked the problem down to this difference in the dmesg output of the bootup sequences:

2.6.24-16.30 (Ubuntu 8.04):

ata1.00: HPA unlocked: 268435455 -> 312581808, native 312581808 ata1.00: ATA-8: SAMSUNG HM160HC, LQ100-10, max UDMA/100 ata1.00: 312581808 sectors, multi 16: LBA48

Quoted 5 lines

2.6.24.7:

ata1.00: HPA detected: current 268435455, native 312581808 ata1.00: ATA-8: SAMSUNG HM160HC, LQ100-10, max UDMA/100 ata1.00: 268435455 sectors, multi 16: LBA48

Your Ubuntu kernel is clearing the host protected area (the BIOS has marked the end part of the disk as 'reserved' - probably for an XP restore partition), the base one for some reason is not.

Set the boot option "libata.ignore_hpa=1". That defaults to zero (respecting the BIOS) so that users don't accidentally blow away BIOS partitions and restore images, except apparently Ubuntu patch it the other way by default.

Alan

#2 lore raw
Quoted 8 lines · Alan Cox

Your Ubuntu kernel is clearing the host protected area (the BIOS has marked the end part of the disk as 'reserved' - probably for an XP restore partition), the base one for some reason is not.

Set the boot option "libata.ignore_hpa=1". That defaults to zero (respecting the BIOS) so that users don't accidentally blow away BIOS partitions and restore images, except apparently Ubuntu patch it the other way by default.

Thank you very much for clarifying this behavior.

Using "options libata ignore_hpa=1" and rebuilding initrd now lets 2.6.25.3 boot without problems.

Best regards, Peter.

#3 lore raw
In reply to Peter Klotz
Quoted 32 lines · Peter Klotz

I compiled several kernel.org kernels (2.6.24.3, 2.6.24.7, 2.6.25.1, 2.6.25.3) but when booting them up the following messages appear:

attempt to access beyond end of device
sda: rw=0, want=273956253, limit=268435455 Buffer I/O error on device sda3, logical block 39085952 attempt to access beyond end of device
sda: rw=0, want=273956254, limit=268435455 Buffer I/O error on device sda3, logical block 39085953 attempt to access beyond end of device
...
attempt to access beyond end of device
sda: rw=0, want=273956255, limit=268435455 attempt to access beyond end of device
sda: rw=0, want=273956256, limit=268435455 attempt to access beyond end of device

There is no problem when using the supplied kernel of Ubuntu 8.04 (2.6.24-16.30).

I tracked the problem down to this difference in the dmesg output of the bootup sequences:

2.6.24-16.30 (Ubuntu 8.04):

ata1.00: HPA unlocked: 268435455 -> 312581808, native 312581808 ata1.00: ATA-8: SAMSUNG HM160HC, LQ100-10, max UDMA/100 ata1.00: 312581808 sectors, multi 16: LBA48

2.6.24.7:

Quoted 9 lines

ata1.00: HPA detected: current 268435455, native 312581808 ata1.00: ATA-8: SAMSUNG HM160HC, LQ100-10, max UDMA/100 ata1.00: 268435455 sectors, multi 16: LBA48

The HDD is 160GB in size, so 312581808 sectors seem much more logical than 268435455 sectors. It seems that kernel.org kernels limit the HDD to 128GiB.

Not so. All of my drives are larger than that, with a sata sdc of 400GB that dmesg reports as:

[    8.103237] ata4.00: ATA-7: Hitachi HDT725040VLA360, V5COA7EA, max UDMA/133
[    8.103241] ata4.00: 781422768 sectors, multi 16: LBA48 NCQ (depth 0/32)
[    8.118762] ata4.00: configured for UDMA/100
[    8.118871] scsi 3:0:0:0: Direct-Access     ATA      Hitachi HDT72504 V5CO PQ: 0 ANSI: 5
[    8.118953] sd 3:0:0:0: [sdc] 781422768 512-byte hardware sectors (400088 MB)
[    8.118970] sd 3:0:0:0: [sdc] Write Protect is off
[    8.118973] sd 3:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    8.118997] sd 3:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    8.119053] sd 3:0:0:0: [sdc] 781422768 512-byte hardware sectors (400088 MB)

I've never seen this error here, and I've built everything recently but 24.7. I only keep .25 and later stuff although there may be some leftovers in /boot I haven't removed. My latest in the .24 series in .6, and it didn't do that. Perhaps you don't have all the big file stuff enabled in your .config? Running 2.6.26-rc1 ATM here.

Quoted 26 lines

Here the "fdisk -l" output:

 user@centrino:~$ sudo fdisk -l /dev/sda

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0008e799

    Device Boot      Start         End      Blocks   Id  System
 /dev/sda1   *           1          31      248976   83  Linux
 /dev/sda2              32       14620   117186142+  83  Linux
 /dev/sda3           14621       17053    19543072+   7  HPFS/NTFS

I may have been lucky up to now because I only use partitions sda1 and sda2 on this drive.

Any help regarding this issue is appreciated.

Please CC me since I am no list member.

Best regards, Peter.
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 5 lines
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
stop bit received