Skip to contentSkip to conversation

LBA28/LBA48 off-by-one bug in ata.h

PATCH In review Taisuke Yamada 3 participants 6 messages May 3, 2008 – Aug 14, 2008 libata

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 LBA28/LBA48 off-by-one bug in ata.h

Hi.

I recently bought 3 HGST P7K500-series 500GB SATA drives and had trouble accessing the block right on the LBA28-LBA48 border. Here's how it fails (same for all 3 drives):

  # dd if=/dev/sdc bs=512 count=1 skip=268435455 > /dev/null
  dd: reading `/dev/sdc': Input/output error
  0+0 records in
  0+0 records out
  0 bytes (0 B) copied, 0.288033 seconds, 0.0 kB/s
  # dmesg
  ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
  ata1.00: BMDMA stat 0x25
  ata1.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
  res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
  ata1.00: status: { DRDY ERR }
  ata1.00: error: { ABRT }
  ata1.00: configured for UDMA/33
  ata1: EH complete
  ...

After some investigations, it turned out this seems to be caused by misinterpretation of the ATA specification on LBA28 access. Following part is the code in question:

  === include/linux/ata.h ===
  static inline int lba_28_ok(u64 block, u32 n_block)
  {
    /* check the ending block number */
    return ((block + n_block - 1) < ((u64)1 << 28)) && (n_block <= 256);
  }

HGST drive (sometimes) fails with LBA28 access of {block = 0xfffffff, n_block = 1}, and this behavior seems to be comformant. Other drives, including other HGST drives are not that strict, through.

Quoted 1 line

From the ATA specification:

(http://www.t13.org/Documents/UploadedDocuments/project/d1410r3b-ATA-ATAPI-6.pdf)

8.15.29 Word (61:60): Total number of user addressable sectors This field contains a value that is one greater than the total number of user addressable sectors (see 6.2). The maximum value that shall be placed in this field is 0FFFFFFFh.

So the driver shouldn't use the value of 0xfffffff for LBA28 request as this exceeds maximum user addressable sector. The logical maximum value for LBA28 is 0xffffffe.

The obvious fix is to cut "- 1" part, and the patch attached just do that. I've been using the patched kernel for about a month now, and the same fix is also floating on the net for some time. So I believe this fix works reliably.

Just FYI, many Windows/Intel platform users also seems to be struck by this, and HGST has issued a note pointing to Intel ICH8/9 driver.

"28-bit LBA command is being used to access LBAs 29-bits in length"
http://www.hitachigst.com/hddt/knowtree.nsf/cffe836ed7c12018862565b000530c74/b531b8bce8745fb78825740f00580e23

Also, *BSDs seems to have similar fix included sometime around ~2004, through I have not checked out exact portion of the code.

I do not subscribe to the list, so Cc: me if further discussion is needed.

Best Regards,
--
Taisuke Yamada

include/linux/ata.h renamed from include/linux/ata.h.orig +1 -1
@@ -599,7 +599,7 @@ static inline int ata_ok(u8 status)
 static inline int lba_28_ok(u64 block, u32 n_block)
 {
 	/* check the ending block number */
-	return ((block + n_block - 1) < ((u64)1 << 28)) && (n_block <= 256);
+	return ((block + n_block) < ((u64)1 << 28)) && (n_block <= 256);
 }
 
 static inline int lba_48_ok(u64 block, u32 n_block)
#1 lore raw
Quoted 6 lines · Taisuke Yamada

Hi.

I recently bought 3 HGST P7K500-series 500GB SATA drives and had trouble accessing the block right on the LBA28-LBA48 border. Here's how it fails (same for all 3 drives):

Quoted 15 lines
  # dd if=/dev/sdc bs=512 count=1 skip=268435455 > /dev/null
  dd: reading `/dev/sdc': Input/output error
  0+0 records in
  0+0 records out
  0 bytes (0 B) copied, 0.288033 seconds, 0.0 kB/s
  # dmesg
  ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
  ata1.00: BMDMA stat 0x25
  ata1.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
  res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
  ata1.00: status: { DRDY ERR }
  ata1.00: error: { ABRT }
  ata1.00: configured for UDMA/33
  ata1: EH complete
  ...

I'm surprised to see the above. We do lots of dd to raw SATA drive activity with a large variety of drives. Both reads and writes and we've never noticed this issue.

Does it happen if you are using 4k blocks with dd?

ie. We typically read / write the entire drive but using 4k blocks.

In fact a few months ago we specifically bought about 15 drives of various sizes and manufacturers and verified that we could both read and write all of the sectors of the drives.

Greg
--
Greg Freemyer
Litigation Triage Solutions Specialist
http://www.linkedin.com/in/gregfreemyer
First 99 Days Litigation White Paper -
http://www.norcrossgroup.com/forms/whitepapers/99%20Days%20whitepaper.pdf

The Norcross Group
The Intersection of Evidence & Technology
http://www.norcrossgroup.com

#2 lore raw
Quoted 27 lines · Greg Freemyer
Quoted 6 lines · Taisuke Yamada

Hi.

I recently bought 3 HGST P7K500-series 500GB SATA drives and had trouble accessing the block right on the LBA28-LBA48 border. Here's how it fails (same for all 3 drives):

Quoted 15 lines
  # dd if=/dev/sdc bs=512 count=1 skip=268435455 > /dev/null
  dd: reading `/dev/sdc': Input/output error
  0+0 records in
  0+0 records out
  0 bytes (0 B) copied, 0.288033 seconds, 0.0 kB/s
  # dmesg
  ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
  ata1.00: BMDMA stat 0x25
  ata1.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
  res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
  ata1.00: status: { DRDY ERR }
  ata1.00: error: { ABRT }
  ata1.00: configured for UDMA/33
  ata1: EH complete
  ...

I'm surprised to see the above. We do lots of dd to raw SATA drive activity with a large variety of drives. Both reads and writes and we've never noticed this issue.

Quoted 8 lines

Does it happen if you are using 4k blocks with dd?

ie. We typically read / write the entire drive but using 4k blocks.

In fact a few months ago we specifically bought about 15 drives of various sizes and manufacturers and verified that we could both read and write all of the sectors of the drives.

Taisuke,

I'd like to reproduce your results and keep the drive as a test drive to ensure our systems work properly across the entire spectrum of drives.

Quoted 1 line

From our earlier tests we had a Hitachi 7K1000 Series Model

HDS721075KLA330 SATA 750GB drive, but it is not exhibiting the problem you describe.

Can you tell me a specific Model number Hitachi drive that the current linux kernel is failing with.

Thanks
Greg

Signature · 9 lines
Greg Freemyer
Litigation Triage Solutions Specialist
http://www.linkedin.com/in/gregfreemyer
First 99 Days Litigation White Paper -
http://www.norcrossgroup.com/forms/whitepapers/99%20Days%20whitepaper.pdf

The Norcross Group
The Intersection of Evidence & Technology
http://www.norcrossgroup.com
#3 lore raw

Greg,
Thanks for responding and excuse me for the delay in reply.

# This is a re-post as I had email server configuration issue. # Excuse me if you receive similar messages twice.

I was finally able to stop the machine, and took out 1 of 3 drives in question. I re-tested the drive, and the issue reproduced 100%. Here's the model/serial code of the drive:

    # output from "scsiinfo -a /dev/sda"
    Vendor:                    ATA
    Product:                   Hitachi HDP72505
    Revision level:            GM4O
    Serial Number '      GEB531RE0GEPGB'

From the information I have gathered, this issue seems to be
either environment or usage-dependent. It seems it always reproduces, or never happens. While I see many reports (and reports of "-1" fix working) on various blogs/BBSs, I do also see many saying "doesn't happen with me".

I must admit this weakens my proposal to apply the patch. However, althrough it may not be 100% reproducible everywhere at this time, I believe there is at least an ambiguity in the spec ("How should ATA req on 0xfffffff be handled?") which could cause driver to fail anytime, and so decided to submit a patch.

The fact *BSDs (and probably Intel) having similar fix also pushed me to take action, and I'd also like to clarify that I'm not the only one with this "-1" fix - the exact same stuff has been floating on the net for months.

Now I have the drive at hand, I re-tested with latest 2.6.25.3 kernel (rebuilt from vanilla source, not some distribution kernel), and here's the result:

   # uname -a
   Linux pc 2.6.25.3 #2 Thu May 15 01:05:14 JST 2008 i686 GNU/Linux
   # dd if=/dev/sda bs=512 count=1 skip=268435455
   dd: reading `/dev/sda': Input/output error
   0+0 records in
   0+0 records out
   0 bytes (0 B) copied, 0.289322 s, 0.0 kB/s
   # dmesg -c
   ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
   ata3.00: BMDMA stat 0x25
   ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
            res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device 
error)
   ata3.00: status: { DRDY ERR }
   ata3.00: error: { ABRT }
   ata3.00: configured for UDMA/33
   ata3: EH complete
    ...[same messages repeating several times]...

And for block size of 1KB-8KB, I get exactly the same error:

   # dd if=/dev/sda bs=1024 count=1 skip=134217727
   dd: reading `/dev/sda': Input/output error
   # dd if=/dev/sda bs=2048 count=1 skip=67108863
   dd: reading `/dev/sda': Input/output error
   # dd if=/dev/sda bs=4096 count=1 skip=33554431
   dd: reading `/dev/sda': Input/output error
   # dd if=/dev/sda bs=8192 count=1 skip=16777215
   dd: reading `/dev/sda': Input/output error
   # dd if=/dev/sda bs=16384 count=1 skip=8388607
   dd: reading `/dev/sda': Input/output error

Now, here's more interesting behavior of the drive. With enough "backoff" from the border, the drive responds normally to the request:

   # dd if=/dev/sda bs=4096 count=1 skip=33554431
   dd: reading `/dev/sda': Input/output error
   0+0 records in
   0+0 records out
   0 bytes (0 B) copied, 0.288113 s, 0.0 kB/s
   # dd if=/dev/sda bs=4096 count=2 skip=33554430
   dd: reading `/dev/sda': Input/output error
   1+0 records in    <----------------------------- PARTIAL READ OK
   1+0 records out
   4096 bytes (4.1 kB) copied, 0.309428 s, 13.2 kB/s
   # dd if=/dev/sda bs=4096 count=3 skip=33554429
   3+0 records in    <----------------------------- FULL READ OK
   3+0 records out
   12288 bytes (12 kB) copied, 0.00753634 s, 1.6 MB/s
   # dd if=/dev/sda bs=4096 count=100 skip=33554429
   100+0 records in
   100+0 records out
   409600 bytes (410 kB) copied, 0.00551966 s, 74.2 MB/s

And the same test with 512-byte block request:

   # dd if=/dev/sda bs=512 count=1 skip=268435455
   dd: reading `/dev/sda': Input/output error
   0+0 records in
   0+0 records out
   0 bytes (0 B) copied, 0.289812 s, 0.0 kB/s
   # dd if=/dev/sda bs=512 count=2 skip=268435454
   dd: reading `/dev/sda': Input/output error
   0+0 records in
   0+0 records out
   0 bytes (0 B) copied, 0.28924 s, 0.0 kB/s
   ...
   ...continue backing off with larger total access size...
   ...
   # dd if=/dev/sda bs=512 count=8 skip=268435448
   dd: reading `/dev/sda': Input/output error
   0+0 records in
   0+0 records out
   0 bytes (0 B) copied, 0.286469 s, 0.0 kB/s
   # dd if=/dev/sda bs=512 count=9 skip=268435447
   dd: reading `/dev/sda': Input/output error
   1+0 records in    <----------------------------- PARTIAL READ OK
   1+0 records out
   512 bytes (512 B) copied, 0.322541 s, 1.6 kB/s
   ...
   ...continue backing off with larger total access size...
   ...
   # dd if=/dev/sda bs=512 count=16 skip=268435440
   dd: reading `/dev/sda': Input/output error
   8+0 records in    <----------------------------- MORE PARTIAL READ OK
   8+0 records out
   4096 bytes (4.1 kB) copied, 0.327491 s, 12.5 kB/s
   # dd if=/dev/sda bs=512 count=17 skip=268435439
   17+0 records in   <----------------------------- FULL READ OK
   17+0 records out
   8704 bytes (8.7 kB) copied, 0.0119018 s, 731 kB/s
   # dd if=/dev/sda bs=512 count=100 skip=268435439
   100+0 records in
   100+0 records out
   51200 bytes (51 kB) copied, 0.00237427 s, 21.6 MB/s

I'm starting to see some pattern here...

So even if request goes over LBA address of 0xfffffff, it seems it won't break if certain amount of request (8KB>) is sent prior to accessing the border.

I have attached full log of the test (pctest.sh, pctest.log), so please check it out if there's anything unclear with above excerpt. Also, as this could be some hardware and/or software combination issue, reports generated by lshw(1) and scsiinfo(1) are also attached.

Is there any other tests I can do to track down the issue? Maybe sending raw LBA28 request directly to the drive may help to identify the issue?

Best Regards,
--
Taisuke Yamada

Quoted 25 lines
Quoted 11 lines
Quoted 6 lines

I recently bought 3 HGST P7K500-series 500GB SATA drives and had trouble accessing the block right on the LBA28-LBA48 border. Here's how it fails (same for all 3 drives):

  # dd if=/dev/sdc bs=512 count=1 skip=268435455 > /dev/null
  dd: reading `/dev/sdc': Input/output error

I'm surprised to see the above. We do lots of dd to raw SATA drive activity with a large variety of drives. Both reads and writes and we've never noticed this issue.

Quoted 8 lines

Does it happen if you are using 4k blocks with dd?

ie. We typically read / write the entire drive but using 4k blocks.

In fact a few months ago we specifically bought about 15 drives of various sizes and manufacturers and verified that we could both read and write all of the sectors of the drives.

Taisuke,

I'd like to reproduce your results and keep the drive as a test drive to ensure our systems work properly across the entire spectrum of drives.

Quoted 6 lines
Quoted 1 line

From our earlier tests we had a Hitachi 7K1000 Series Model

HDS721075KLA330 SATA 750GB drive, but it is not exhibiting the problem you describe.

Can you tell me a specific Model number Hitachi drive that the current linux kernel is failing with.

<?xml version="1.0" standalone="yes" ?>
<!-- generated by lshw-B.02.12.01 -->
<!-- GCC 4.2.3 20080114 (prerelease) (Debian 4.2.2-7) --> <!-- Linux 2.6.25.3 #2 Thu May 15 01:05:14 JST 2008 i686 --> <!-- GNU libc 2 (glibc 2.7) -->
<node id="pc" claimed="true" class="system" handle="DMI:0001">
<description>Desktop Computer</description> <product>PROD00000000</product> <vendor>OEM00000</vendor>
<width units="bits">32</width>
<configuration>
<setting id="boot" value="normal" />
<setting id="chassis" value="desktop" />
<setting id="cpus" value="1" />
</configuration>
<capabilities>
<capability id="smbios-2.2" >SMBIOS version 2.2</capability> <capability id="dmi-2.2" >DMI version 2.2</capability> <capability id="smp-1.4" >SMP specification v1.4</capability> <capability id="smp" >Symmetric Multi-Processing</capability>
</capabilities>
<node id="core" claimed="true" class="bus" handle="DMI:0002">
<description>Motherboard</description> <product>MS-7025</product>
<physid>0</physid>

    <node id="firmware" claimed="true" class="memory" handle="">
     <description>BIOS</description>
     <vendor>Phoenix Technologies, LTD</vendor>
     <physid>0</physid>
     <version>6.00 PG (12/21/2005)</version>
     <size units="bytes">131072</size>
     <capacity units="bytes">458752</capacity>
     <capabilities>
      <capability id="isa" >ISA bus</capability>
      <capability id="pci" >PCI bus</capability>
      <capability id="pnp" >Plug-and-Play</capability>
      <capability id="apm" >Advanced Power Management</capability>
      <capability id="upgrade" >BIOS EEPROM can be upgraded</capability>
      <capability id="shadowing" >BIOS shadowing</capability>
      <capability id="cdboot" >Booting from CD-ROM/DVD</capability>
      <capability id="bootselect" >Selectable boot path</capability>
      <capability id="socketedrom" >BIOS ROM is socketed</capability>
      <capability id="edd" >Enhanced Disk Drive extensions</capability>
      <capability id="int13floppy360" >5.25&quot; 360KB floppy</capability>
      <capability id="int13floppy1200" >5.25&quot; 1.2MB floppy</capability>
      <capability id="int13floppy720" >3.5&quot; 720KB floppy</capability>
      <capability id="int13floppy2880" >3.5&quot; 2.88MB floppy</capability>
      <capability id="int5printscreen" >Print Screen key</capability>
      <capability id="int9keyboard" >i8042 keyboard controller</capability>
      <capability id="int14serial" >INT14 serial line control</capability>
      <capability id="int17printer" >INT17 printer control</capability>
      <capability id="int10video" >INT10 CGA/Mono video</capability>
      <capability id="acpi" >ACPI</capability>
      <capability id="usb" >USB legacy emulation</capability>
      <capability id="agp" >AGP</capability>
      <capability id="ls120boot" >Booting from LS-120</capability>
      <capability id="zipboot" >Booting from ATAPI ZIP</capability>
     </capabilities>
    </node>
    <node id="cpu:0" claimed="true" class="processor" handle="DMI:0004">
     <description>CPU</description>
     <product>AMD Athlon(tm) 64 Processor 3200+</product>
     <vendor>Advanced Micro Devices [AMD]</vendor>
     <physid>4</physid>
     <businfo>cpu@0</businfo>
     <version>15.15.0</version>
     <slot>Socket 939</slot>
     <size units="Hz">2010000000</size>
     <capacity units="Hz">3000000000</capacity>
     <width units="bits">64</width>
     <clock units="Hz">200000000</clock>
     <capabilities>
      <capability id="boot" >boot processor</capability>
      <capability id="fpu" >mathematical co-processor</capability>
      <capability id="fpu_exception" >FPU exceptions reporting</capability>
      <capability id="wp" />
      <capability id="vme" >virtual mode extensions</capability>
      <capability id="de" >debugging extensions</capability>
      <capability id="pse" >page size extensions</capability>
      <capability id="tsc" >time stamp counter</capability>
      <capability id="msr" >model-specific registers</capability>
      <capability id="pae" >4GB+ memory addressing (Physical Address Extension)</capability>
      <capability id="mce" >machine check exceptions</capability>
      <capability id="cx8" >compare and exchange 8-byte</capability>
      <capability id="apic" >on-chip advanced programmable interrupt controller (APIC)</capability>
      <capability id="sep" >fast system calls</capability>
      <capability id="mtrr" >memory type range registers</capability>
      <capability id="pge" >page global enable</capability>
      <capability id="mca" >machine check architecture</capability>
      <capability id="cmov" >conditional move instruction</capability>
      <capability id="pat" >page attribute table</capability>
      <capability id="pse36" >36-bit page size extensions</capability>
      <capability id="clflush" />
      <capability id="mmx" >multimedia extensions (MMX)</capability>
      <capability id="fxsr" >fast floating point save/restore</capability>
      <capability id="sse" >streaming SIMD extensions (SSE)</capability>
      <capability id="sse2" >streaming SIMD extensions (SSE2)</capability>
      <capability id="syscall" >fast system calls</capability>
      <capability id="nx" >no-execute bit (NX)</capability>
      <capability id="mmxext" >multimedia extensions (MMXExt)</capability>
      <capability id="fxsr_opt" />
      <capability id="x86-64" >64bits extensions (x86-64)</capability>
      <capability id="3dnowext" >multimedia extensions (3DNow!Ext)</capability>
      <capability id="3dnow" >multimedia extensions (3DNow!)</capability>
      <capability id="lahf_lm" />
      <capability id="ts" />
      <capability id="fid" />
      <capability id="vid" />
      <capability id="ttp" />
     </capabilities>
      <node id="cache:0" claimed="true" class="memory" handle="DMI:000B">
       <description>L1 cache</description>
       <physid>b</physid>
       <slot>Internal Cache</slot>
       <size units="bytes">131072</size>
       <capacity units="bytes">131072</capacity>
       <capabilities>
        <capability id="synchronous" >Synchronous</capability>
        <capability id="internal" >Internal</capability>
        <capability id="write-back" >Write-back</capability>
       </capabilities>
      </node>
      <node id="cache:1" claimed="true" class="memory" handle="DMI:000D">
       <description>L2 cache</description>
       <physid>d</physid>
       <slot>External Cache</slot>
       <size units="bytes">524288</size>
       <capacity units="bytes">524288</capacity>
       <capabilities>
        <capability id="synchronous" >Synchronous</capability>
        <capability id="internal" >Internal</capability>
        <capability id="write-back" >Write-back</capability>
       </capabilities>
      </node>
    </node>
    <node id="cpu:1" disabled="true" claimed="true" class="processor" handle="DMI:0005">
     <description>CPU</description>
     <vendor>Unknown</vendor>
     <physid>5</physid>
     <businfo>cpu@1</businfo>
     <version>15.15.0</version>
     <slot>Socket 939</slot>
     <size units="Hz">2010000000</size>
     <capacity units="Hz">3000000000</capacity>
     <clock units="Hz">200000000</clock>
      <node id="cache:0" claimed="true" class="memory" handle="DMI:000C">
       <description>L1 cache</description>
       <physid>c</physid>
       <slot>Internal Cache</slot>
       <size units="bytes">131072</size>
       <capacity units="bytes">131072</capacity>
       <capabilities>
        <capability id="synchronous" >Synchronous</capability>
        <capability id="internal" >Internal</capability>
        <capability id="write-back" >Write-back</capability>
       </capabilities>
      </node>
      <node id="cache:1" claimed="true" class="memory" handle="DMI:000E">
       <description>L2 cache</description>
       <physid>e</physid>
       <slot>External Cache</slot>
       <size units="bytes">524288</size>
       <capacity units="bytes">524288</capacity>
       <capabilities>
        <capability id="synchronous" >Synchronous</capability>
        <capability id="internal" >Internal</capability>
        <capability id="write-back" >Write-back</capability>
       </capabilities>
      </node>
    </node>
    <node id="memory" claimed="true" class="memory" handle="DMI:001F">
     <description>System Memory</description>
     <physid>1f</physid>
     <slot>System board or motherboard</slot>
     <size units="bytes">3221225472</size>
      <node id="bank:0" claimed="true" class="memory" handle="DMI:0020">
       <description>DIMM</description>
       <physid>0</physid>
       <slot>A0</slot>
       <size units="bytes">1073741824</size>
       <width units="bits">64</width>
      </node>
      <node id="bank:1" claimed="true" class="memory" handle="DMI:0021">
       <description>DIMM</description>
       <physid>1</physid>
       <slot>A1</slot>
       <size units="bytes">1073741824</size>
       <width units="bits">64</width>
      </node>
      <node id="bank:2" claimed="true" class="memory" handle="DMI:0022">
       <description>DIMM</description>
       <physid>2</physid>
       <slot>A2</slot>
       <size units="bytes">536870912</size>
       <width units="bits">64</width>
      </node>
      <node id="bank:3" claimed="true" class="memory" handle="DMI:0023">
       <description>DIMM</description>
       <physid>3</physid>
       <slot>A3</slot>
       <size units="bytes">536870912</size>
       <width units="bits">64</width>
      </node>
    </node>
    <node id="pci:0" claimed="true" class="bridge" handle="PCIBUS:0000:00">
     <description>Host bridge</description>
     <product>nForce3 250Gb Host Bridge</product>
     <vendor>nVidia Corporation</vendor>
     <physid>100</physid>
     <businfo>pci@0000:00:00.0</businfo>
     <version>a1</version>
     <width units="bits">32</width>
     <clock units="Hz">66000000</clock>
      <node id="isa" claimed="true" class="bridge" handle="PCI:0000:00:01.0">
       <description>ISA bridge</description>
       <product>nForce3 250Gb LPC Bridge</product>
       <vendor>nVidia Corporation</vendor>
       <physid>1</physid>
       <businfo>pci@0000:00:01.0</businfo>
       <version>a2</version>
       <width units="bits">32</width>
       <clock units="Hz">66000000</clock>
       <configuration>
        <setting id="latency" value="0" />
       </configuration>
       <capabilities>
        <capability id="isa" />
        <capability id="bus_master" >bus mastering</capability>
       </capabilities>
      </node>
      <node id="serial" class="bus" handle="PCI:0000:00:01.1">
       <description>SMBus</description>
       <product>nForce 250Gb PCI System Management</product>
       <vendor>nVidia Corporation</vendor>
       <physid>1.1</physid>
       <businfo>pci@0000:00:01.1</businfo>
       <version>a1</version>
       <width units="bits">32</width>
       <clock units="Hz">66000000</clock>
       <configuration>
        <setting id="latency" value="0" />
        <setting id="maxlatency" value="1" />
        <setting id="mingnt" value="3" />
       </configuration>
       <capabilities>
        <capability id="pm" >Power Management</capability>
        <capability id="cap_list" >PCI capabilities listing</capability>
       </capabilities>
      </node>
      <node id="usb:0" class="bus" handle="PCI:0000:00:02.0">
       <description>USB Controller</description>
       <product>CK8S USB Controller</product>
       <vendor>nVidia Corporation</vendor>
       <physid>2</physid>
       <businfo>pci@0000:00:02.0</businfo>
       <version>a1</version>
       <width units="bits">32</width>
       <clock units="Hz">66000000</clock>
       <configuration>
        <setting id="latency" value="0" />
        <setting id="maxlatency" value="1" />
        <setting id="mingnt" value="3" />
       </configuration>
       <capabilities>
        <capability id="pm" >Power Management</capability>
        <capability id="bus_master" >bus mastering</capability>
        <capability id="cap_list" >PCI capabilities listing</capability>
       </capabilities>
      </node>
      <node id="usb:1" class="bus" handle="PCI:0000:00:02.1">
       <description>USB Controller</description>
       <product>CK8S USB Controller</product>
       <vendor>nVidia Corporation</vendor>
       <physid>2.1</physid>
       <businfo>pci@0000:00:02.1</businfo>
       <version>a1</version>
       <width units="bits">32</width>
       <clock units="Hz">66000000</clock>
       <configuration>
        <setting id="latency" value="0" />
        <setting id="maxlatency" value="1" />
        <setting id="mingnt" value="3" />
       </configuration>
       <capabilities>
        <capability id="pm" >Power Management</capability>
        <capability id="bus_master" >bus mastering</capability>
        <capability id="cap_list" >PCI capabilities listing</capability>
       </capabilities>
      </node>
      <node id="usb:2" class="bus" handle="PCI:0000:00:02.2">
       <description>USB Controller</description>
       <product>nForce3 EHCI USB 2.0 Controller</product>
       <vendor>nVidia Corporation</vendor>
       <physid>2.2</physid>
       <businfo>pci@0000:00:02.2</businfo>
       <version>a2</version>
       <width units="bits">32</width>
       <clock units="Hz">66000000</clock>
       <configuration>
        <setting id="latency" value="0" />
        <setting id="maxlatency" value="1" />
        <setting id="mingnt" value="3" />
       </configuration>
       <capabilities>
        <capability id="debug" >Debug port</capability>
        <capability id="pm" >Power Management</capability>
        <capability id="bus_master" >bus mastering</capability>
        <capability id="cap_list" >PCI capabilities listing</capability>
       </capabilities>
      </node>
      <node id="bridge" disabled="true" claimed="true" class="bridge" handle="PCI:0000:00:05.0">
       <description>Ethernet interface</description>
       <product>CK8S Ethernet Controller</product>
       <vendor>nVidia Corporation</vendor>
       <physid>5</physid>
       <businfo>pci@0000:00:05.0</businfo>
       <logicalname>eth0</logicalname>
       <version>a2</version>
       <serial>00:11:09:d4:92:68</serial>
       <capacity>1000000000</capacity>
       <width units="bits">32</width>
       <clock units="Hz">66000000</clock>
       <configuration>
        <setting id="autonegotiation" value="on" />
        <setting id="broadcast" value="yes" />
        <setting id="driver" value="forcedeth" />
        <setting id="driverversion" value="0.61" />
        <setting id="latency" value="0" />
        <setting id="link" value="yes" />
        <setting id="maxlatency" value="20" />
        <setting id="mingnt" value="1" />
        <setting id="multicast" value="yes" />
        <setting id="port" value="MII" />
       </configuration>
       <capabilities>
        <capability id="bridge" />
        <capability id="pm" >Power Management</capability>
        <capability id="bus_master" >bus mastering</capability>
        <capability id="cap_list" >PCI capabilities listing</capability>
        <capability id="ethernet" />
        <capability id="physical" >Physical interface</capability>
        <capability id="mii" >Media Independant Interface</capability>
        <capability id="10bt" >10MB/s</capability>
        <capability id="10bt-fd" >10MB/s (full duplex)</capability>
        <capability id="100bt" >100MB/s</capability>
        <capability id="100bt-fd" >100MB/s (full duplex)</capability>
        <capability id="1000bt-fd" >1GB/s (full duplex)</capability>
        <capability id="autonegotiation" >Auto-negotiation</capability>
       </capabilities>
      </node>
      <node id="multimedia" class="multimedia" handle="PCI:0000:00:06.0">
       <description>Multimedia audio controller</description>
       <product>nForce3 250Gb AC'97 Audio Controller</product>
       <vendor>nVidia Corporation</vendor>
       <physid>6</physid>
       <businfo>pci@0000:00:06.0</businfo>
       <version>a1</version>
       <width units="bits">32</width>
       <clock units="Hz">66000000</clock>
       <configuration>
        <setting id="latency" value="0" />
        <setting id="maxlatency" value="5" />
        <setting id="mingnt" value="2" />
       </configuration>
       <capabilities>
        <capability id="pm" >Power Management</capability>
        <capability id="bus_master" >bus mastering</capability>
        <capability id="cap_list" >PCI capabilities listing</capability>
       </capabilities>
      </node>
      <node id="ide:0" claimed="true" class="storage" handle="PCI:0000:00:08.0">
       <description>IDE interface</description>
       <product>CK8S Parallel ATA Controller (v2.5)</product>
       <vendor>nVidia Corporation</vendor>
       <physid>8</physid>
       <businfo>pci@0000:00:08.0</businfo>
       <version>a2</version>
       <width units="bits">32</width>
       <clock units="Hz">66000000</clock>
       <configuration>
        <setting id="driver" value="AMD_IDE" />
        <setting id="latency" value="0" />
        <setting id="maxlatency" value="1" />
        <setting id="mingnt" value="3" />
       </configuration>
       <capabilities>
        <capability id="ide" />
        <capability id="pm" >Power Management</capability>
        <capability id="bus_master" >bus mastering</capability>
        <capability id="cap_list" >PCI capabilities listing</capability>
       </capabilities>
        <node id="ide:0" claimed="true" class="bus" handle="IDE:ide0">
         <description>IDE Channel 0</description>
         <physid>0</physid>
         <businfo>ide@0</businfo>
         <logicalname>ide0</logicalname>
         <clock units="Hz">66000000</clock>
          <node id="disk" claimed="true" class="disk" handle="IDE:ide0:hda">
           <description>ATA Disk</description>
           <product>HDS722516VLAT20</product>
           <physid>0</physid>
           <businfo>[email protected]</businfo>
           <logicalname>/dev/hda</logicalname>
           <dev>3d:0d</dev>
           <version>V34OA60A</version>
           <serial>VNR4GMC4GBKKZM</serial>
           <size units="bytes">164696555520</size>
           <configuration>
            <setting id="apm" value="off" />
            <setting id="mode" value="udma2" />
            <setting id="signature" value="000d9b70" />
            <setting id="smart" value="on" />
           </configuration>
           <capabilities>
            <capability id="ata" >ATA</capability>
            <capability id="dma" >Direct Memory Access</capability>
            <capability id="lba" >Large Block Addressing</capability>
            <capability id="iordy" >I/O ready reporting</capability>
            <capability id="smart" >S.M.A.R.T. (Self-Monitoring And Reporting Technology)</capability>
            <capability id="security" >ATA security extensions</capability>
            <capability id="pm" >Power Management</capability>
            <capability id="apm" >Advanced Power Management</capability>
            <capability id="partitioned" >Partitioned disk</capability>
            <capability id="partitioned:dos" >MS-DOS partition table</capability>
           </capabilities>
            <node id="volume:0" claimed="true" class="volume" handle="">
             <description>Windows FAT volume</description>
             <vendor>mkdosfs</vendor>
             <physid>1</physid>
             <businfo>[email protected],1</businfo>
             <logicalname>/dev/hda1</logicalname>
             <dev>3d:1d</dev>
             <version>FAT16</version>
             <serial>482a-42ca</serial>
             <size>254950912</size>
             <capacity>254951424</capacity>
             <configuration>
              <setting id="FATs" value="2" />
              <setting id="filesystem" value="fat" />
             </configuration>
             <capabilities>
              <capability id="primary" >Primary partition</capability>
              <capability id="fat" >Windows FAT</capability>
              <capability id="initialized" >initialized volume</capability>
             </capabilities>
            </node>
            <node id="volume:1" claimed="true" class="volume" handle="">
             <description>Windows NTFS volume</description>
             <physid>2</physid>
             <businfo>[email protected],2</businfo>
             <logicalname>/dev/hda2</logicalname>
             <dev>3d:2d</dev>
             <version>3.1</version>
             <serial>6a2599db-5b72-4149-9d2a-3994cc7da3e3</serial>
             <size>31976236032</size>
             <capacity>31996339200</capacity>
             <configuration>
              <setting id="clustersize" value="4096" />
              <setting id="created" value="2008-05-14 09:33:24" />
              <setting id="filesystem" value="ntfs" />
              <setting id="state" value="clean" />
             </configuration>
             <capabilities>
              <capability id="primary" >Primary partition</capability>
              <capability id="bootable" >Bootable partition (active)</capability>
              <capability id="ntfs" >Windows NTFS</capability>
              <capability id="initialized" >initialized volume</capability>
             </capabilities>
            </node>
            <node id="volume:2" claimed="true" class="volume" handle="">
             <description>EXT3 volume</description>
             <vendor>Linux</vendor>
             <physid>3</physid>
             <businfo>[email protected],3</businfo>
             <logicalname>/dev/hda3</logicalname>
             <dev>3d:3d</dev>
             <version>1.0</version>
             <serial>9ebcc955-b2bb-4cce-a2b6-7bca665a9779</serial>
             <size>31996338176</size>
             <capacity>31996339200</capacity>
             <configuration>
              <setting id="created" value="2008-05-14 07:53:24" />
              <setting id="filesystem" value="ext3" />
              <setting id="modified" value="2008-05-14 10:51:41" />
              <setting id="mounted" value="2008-05-14 10:46:10" />
              <setting id="state" value="clean" />
             </configuration>
             <capabilities>
              <capability id="primary" >Primary partition</capability>
              <capability id="journaled" />
              <capability id="extended_attributes" >Extended Attributes</capability>
              <capability id="large_files" >4GB+ files</capability>
              <capability id="huge_files" >16TB+ files</capability>
              <capability id="recover" >needs recovery</capability>
              <capability id="ext3" />
              <capability id="ext2" >EXT2/EXT3</capability>
              <capability id="initialized" >initialized volume</capability>
             </capabilities>
            </node>
            <node id="volume:3" claimed="true" class="volume" handle="">
             <description>Extended partition</description>
             <physid>4</physid>
             <businfo>[email protected],4</businfo>
             <logicalname>/dev/hda4</logicalname>
             <dev>3d:4d</dev>
             <size>8011422720</size>
             <capacity>8011422720</capacity>
             <capabilities>
              <capability id="primary" >Primary partition</capability>
              <capability id="extended" >Extended partition</capability>
              <capability id="partitioned" >Partitioned disk</capability>
              <capability id="partitioned:extended" >Extended partition</capability>
             </capabilities>
              <node id="logicalvolume:0" claimed="true" class="volume" handle="">
               <description>Linux swap / Solaris partition</description>
               <physid>5</physid>
               <logicalname>/dev/hda5</logicalname>
               <dev>3d:5d</dev>
               <capacity>3997486080</capacity>
               <capabilities>
                <capability id="nofs" >No filesystem</capability>
               </capabilities>
              </node>
              <node id="logicalvolume:1" claimed="true" class="volume" handle="">
               <description>Linux filesystem partition</description>
               <physid>6</physid>
               <logicalname>/dev/hda6</logicalname>
               <dev>3d:6d</dev>
               <capacity>3997453824</capacity>
              </node>
            </node>
          </node>
        </node>
        <node id="ide:1" claimed="true" class="bus" handle="IDE:ide1">
         <description>IDE Channel 1</description>
         <physid>1</physid>
         <businfo>ide@1</businfo>
         <logicalname>ide1</logicalname>
         <clock units="Hz">66000000</clock>
          <node id="cdrom" claimed="true" class="disk" handle="IDE:ide1:hdc">
           <description>CD-R/CD-RW writer</description>
           <product>SONY CD-RW CRX175E</product>
           <physid>0</physid>
           <businfo>[email protected]</businfo>
           <logicalname>/dev/hdc</logicalname>
           <dev>22d:0d</dev>
           <version>1.0g</version>
           <configuration>
            <setting id="status" value="nodisc" />
           </configuration>
           <capabilities>
            <capability id="packet" >ATAPI packet device</capability>
            <capability id="atapi" >ATAPI</capability>
            <capability id="cdrom" >can read CD-ROMs</capability>
            <capability id="removable" >support is removable</capability>
            <capability id="nonmagnetic" >support is non-magnetic (optical)</capability>
            <capability id="dma" >Direct Memory Access</capability>
            <capability id="lba" >Large Block Addressing</capability>
            <capability id="iordy" >I/O ready reporting</capability>
            <capability id="audio" >Audio CD playback</capability>
            <capability id="cd-r" >CD-R burning</capability>
            <capability id="cd-rw" >CD-RW burning</capability>
           </capabilities>
          </node>
        </node>
      </node>
      <node id="ide:1" claimed="true" class="storage" handle="PCI:0000:00:09.0">
       <description>IDE interface</description>
       <product>CK8S Serial ATA Controller (v2.5)</product>
       <vendor>nVidia Corporation</vendor>
       <physid>9</physid>
       <businfo>pci@0000:00:09.0</businfo>
       <version>a2</version>
       <width units="bits">32</width>
       <clock units="Hz">66000000</clock>
       <configuration>
        <setting id="driver" value="sata_nv" />
        <setting id="latency" value="0" />
        <setting id="maxlatency" value="1" />
        <setting id="mingnt" value="3" />
       </configuration>
       <capabilities>
        <capability id="ide" />
        <capability id="pm" >Power Management</capability>
        <capability id="bus_master" >bus mastering</capability>
        <capability id="cap_list" >PCI capabilities listing</capability>
       </capabilities>
      </node>
      <node id="ide:2" claimed="true" class="storage" handle="PCI:0000:00:0a.0">
       <description>IDE interface</description>
       <product>CK8S Serial ATA Controller (v2.5)</product>
       <vendor>nVidia Corporation</vendor>
       <physid>a</physid>
       <businfo>pci@0000:00:0a.0</businfo>
       <version>a2</version>
       <width units="bits">32</width>
       <clock units="Hz">66000000</clock>
       <configuration>
        <setting id="driver" value="sata_nv" />
        <setting id="latency" value="0" />
        <setting id="maxlatency" value="1" />
        <setting id="mingnt" value="3" />
       </configuration>
       <capabilities>
        <capability id="ide" />
        <capability id="pm" >Power Management</capability>
        <capability id="bus_master" >bus mastering</capability>
        <capability id="cap_list" >PCI capabilities listing</capability>
       </capabilities>
      </node>
      <node id="pci:0" claimed="true" class="bridge" handle="PCIBUS:0000:01">
       <description>PCI bridge</description>
       <product>nForce3 250Gb AGP Host to PCI Bridge</product>
       <vendor>nVidia Corporation</vendor>
       <physid>b</physid>
       <businfo>pci@0000:00:0b.0</businfo>
       <version>a2</version>
       <width units="bits">32</width>
       <clock units="Hz">66000000</clock>
       <capabilities>
        <capability id="pci" />
        <capability id="bus_master" >bus mastering</capability>
       </capabilities>
        <node id="display:0" class="display" handle="PCI:0000:01:00.0">
         <description>VGA compatible controller</description>
         <product>Radeon RV250 If [Radeon 9000]</product>
         <vendor>ATI Technologies Inc</vendor>
         <physid>0</physid>
         <businfo>pci@0000:01:00.0</businfo>
         <version>01</version>
         <width units="bits">32</width>
         <clock units="Hz">66000000</clock>
         <configuration>
          <setting id="latency" value="32" />
          <setting id="mingnt" value="8" />
         </configuration>
         <capabilities>
          <capability id="agp" >AGP</capability>
          <capability id="agp-2.0" >AGP 2.0</capability>
          <capability id="pm" >Power Management</capability>
          <capability id="bus_master" >bus mastering</capability>
          <capability id="cap_list" >PCI capabilities listing</capability>
         </capabilities>
        </node>
        <node id="display:1" class="display" handle="PCI:0000:01:00.1">
         <description>Display controller</description>
         <product>Radeon RV250 [Radeon 9000] (Secondary)</product>
         <vendor>ATI Technologies Inc</vendor>
         <physid>0.1</physid>
         <businfo>pci@0000:01:00.1</businfo>
         <version>01</version>
         <width units="bits">32</width>
         <clock units="Hz">66000000</clock>
         <configuration>
          <setting id="latency" value="32" />
          <setting id="mingnt" value="8" />
         </configuration>
         <capabilities>
          <capability id="agp" >AGP</capability>
          <capability id="agp-2.0" >AGP 2.0</capability>
          <capability id="pm" >Power Management</capability>
          <capability id="cap_list" >PCI capabilities listing</capability>
         </capabilities>
        </node>
      </node>
      <node id="pci:1" claimed="true" class="bridge" handle="PCIBUS:0000:02">
       <description>PCI bridge</description>
       <product>nForce3 250Gb PCI-to-PCI Bridge</product>
       <vendor>nVidia Corporation</vendor>
       <physid>e</physid>
       <businfo>pci@0000:00:0e.0</businfo>
       <version>a2</version>
       <width units="bits">32</width>
       <clock units="Hz">66000000</clock>
       <capabilities>
        <capability id="pci" />
        <capability id="bus_master" >bus mastering</capability>
       </capabilities>
        <node id="display" class="display" handle="PCI:0000:02:08.0">
         <description>VGA compatible controller</description>
         <product>86c325 [ViRGE]</product>
         <vendor>S3 Inc.</vendor>
         <physid>8</physid>
         <businfo>pci@0000:02:08.0</businfo>
         <version>06</version>
         <width units="bits">32</width>
         <clock units="Hz">33000000</clock>
         <configuration>
          <setting id="latency" value="32" />
          <setting id="maxlatency" value="255" />
          <setting id="mingnt" value="4" />
         </configuration>
        </node>
        <node id="generic" class="generic" handle="PCI:0000:02:09.0">
         <product>Omron Corporation</product>
         <vendor>Omron Corporation</vendor>
         <physid>9</physid>
         <businfo>pci@0000:02:09.0</businfo>
         <version>00</version>
         <width units="bits">32</width>
         <clock units="Hz">33000000</clock>
         <configuration>
          <setting id="latency" value="0" />
         </configuration>
        </node>
        <node id="usb:0" class="bus" handle="PCI:0000:02:0a.0">
         <description>USB Controller</description>
         <product>USB</product>
         <vendor>NEC Corporation</vendor>
         <physid>a</physid>
         <businfo>pci@0000:02:0a.0</businfo>
         <version>43</version>
         <width units="bits">32</width>
         <clock units="Hz">33000000</clock>
         <configuration>
          <setting id="latency" value="32" />
          <setting id="maxlatency" value="42" />
          <setting id="mingnt" value="1" />
         </configuration>
         <capabilities>
          <capability id="pm" >Power Management</capability>
          <capability id="bus_master" >bus mastering</capability>
          <capability id="cap_list" >PCI capabilities listing</capability>
         </capabilities>
        </node>
        <node id="usb:1" class="bus" handle="PCI:0000:02:0a.1">
         <description>USB Controller</description>
         <product>USB</product>
         <vendor>NEC Corporation</vendor>
         <physid>a.1</physid>
         <businfo>pci@0000:02:0a.1</businfo>
         <version>43</version>
         <width units="bits">32</width>
         <clock units="Hz">33000000</clock>
         <configuration>
          <setting id="latency" value="32" />
          <setting id="maxlatency" value="42" />
          <setting id="mingnt" value="1" />
         </configuration>
         <capabilities>
          <capability id="pm" >Power Management</capability>
          <capability id="bus_master" >bus mastering</capability>
          <capability id="cap_list" >PCI capabilities listing</capability>
         </capabilities>
        </node>
        <node id="usb:2" class="bus" handle="PCI:0000:02:0a.2">
         <description>USB Controller</description>
         <product>USB 2.0</product>
         <vendor>NEC Corporation</vendor>
         <physid>a.2</physid>
         <businfo>pci@0000:02:0a.2</businfo>
         <version>04</version>
         <width units="bits">32</width>
         <clock units="Hz">33000000</clock>
         <configuration>
          <setting id="latency" value="32" />
          <setting id="maxlatency" value="34" />
          <setting id="mingnt" value="16" />
         </configuration>
         <capabilities>
          <capability id="pm" >Power Management</capability>
          <capability id="bus_master" >bus mastering</capability>
          <capability id="cap_list" >PCI capabilities listing</capability>
         </capabilities>
        </node>
        <node id="firewire" class="bus" handle="PCI:0000:02:0c.0">
         <description>FireWire (IEEE 1394)</description>
         <product>IEEE 1394 Host Controller</product>
         <vendor>VIA Technologies, Inc.</vendor>
         <physid>c</physid>
         <businfo>pci@0000:02:0c.0</businfo>
         <version>46</version>
         <width units="bits">32</width>
         <clock units="Hz">33000000</clock>
         <configuration>
          <setting id="latency" value="32" />
         </configuration>
         <capabilities>
          <capability id="pm" >Power Management</capability>
          <capability id="bus_master" >bus mastering</capability>
          <capability id="cap_list" >PCI capabilities listing</capability>
         </capabilities>
        </node>
        <node id="network" claimed="true" class="network" handle="PCI:0000:02:0d.0">
         <description>Ethernet interface</description>
         <product>RTL-8169 Gigabit Ethernet</product>
         <vendor>Realtek Semiconductor Co., Ltd.</vendor>
         <physid>d</physid>
         <businfo>pci@0000:02:0d.0</businfo>
         <logicalname>eth1</logicalname>
         <version>10</version>
         <serial>00:11:09:d4:92:67</serial>
         <size>1000000000</size>
         <capacity>1000000000</capacity>
         <width units="bits">32</width>
         <clock units="Hz">66000000</clock>
         <configuration>
          <setting id="autonegotiation" value="on" />
          <setting id="broadcast" value="yes" />
          <setting id="driver" value="r8169" />
          <setting id="driverversion" value="2.2LK" />
          <setting id="duplex" value="full" />
          <setting id="ip" value="192.168.1.21" />
          <setting id="latency" value="64" />
          <setting id="link" value="yes" />
          <setting id="maxlatency" value="64" />
          <setting id="mingnt" value="32" />
          <setting id="multicast" value="yes" />
          <setting id="port" value="twisted pair" />
          <setting id="speed" value="1GB/s" />
         </configuration>
         <capabilities>
          <capability id="pm" >Power Management</capability>
          <capability id="bus_master" >bus mastering</capability>
          <capability id="cap_list" >PCI capabilities listing</capability>
          <capability id="ethernet" />
          <capability id="physical" >Physical interface</capability>
          <capability id="tp" >twisted pair</capability>
          <capability id="10bt" >10MB/s</capability>
          <capability id="10bt-fd" >10MB/s (full duplex)</capability>
          <capability id="100bt" >100MB/s</capability>
          <capability id="100bt-fd" >100MB/s (full duplex)</capability>
          <capability id="1000bt-fd" >1GB/s (full duplex)</capability>
          <capability id="autonegotiation" >Auto-negotiation</capability>
         </capabilities>
        </node>
      </node>
    </node>
    <node id="pci:1" claimed="true" class="bridge" handle="PCIBUS:0000:00">
     <description>Host bridge</description>
     <product>K8 [Athlon64/Opteron] HyperTransport Technology Configuration</product>
     <vendor>Advanced Micro Devices [AMD]</vendor>
     <physid>101</physid>
     <businfo>pci@0000:00:18.0</businfo>
     <version>00</version>
     <width units="bits">32</width>
     <clock units="Hz">33000000</clock>
    </node>
    <node id="pci:2" claimed="true" class="bridge" handle="PCIBUS:0000:00">
     <description>Host bridge</description>
     <product>K8 [Athlon64/Opteron] Address Map</product>
     <vendor>Advanced Micro Devices [AMD]</vendor>
     <physid>102</physid>
     <businfo>pci@0000:00:18.1</businfo>
     <version>00</version>
     <width units="bits">32</width>
     <clock units="Hz">33000000</clock>
    </node>
    <node id="pci:3" claimed="true" class="bridge" handle="PCIBUS:0000:00">
     <description>Host bridge</description>
     <product>K8 [Athlon64/Opteron] DRAM Controller</product>
     <vendor>Advanced Micro Devices [AMD]</vendor>
     <physid>103</physid>
     <businfo>pci@0000:00:18.2</businfo>
     <version>00</version>
     <width units="bits">32</width>
     <clock units="Hz">33000000</clock>
    </node>
    <node id="pci:4" claimed="true" class="bridge" handle="PCIBUS:0000:00">
     <description>Host bridge</description>
     <product>K8 [Athlon64/Opteron] Miscellaneous Control</product>
     <vendor>Advanced Micro Devices [AMD]</vendor>
     <physid>104</physid>
     <businfo>pci@0000:00:18.3</businfo>
     <version>00</version>
     <width units="bits">32</width>
     <clock units="Hz">33000000</clock>
    </node>

</node>
</node>

Inquiry command
---------------

Relative Address                   0
Wide bus 32                        0
Wide bus 16                        0
Synchronous neg.                   0
Linked Commands                    0
Command Queueing                   0
SftRe                              0
Device Type                        0
Peripheral Qualifier               0
Removable?                         0
Device Type Modifier               0
ISO Version                        0
ECMA Version                       0
ANSI Version                       5
AENC                               0
TrmIOP                             0
Response Data Format               2
Vendor:                    ATA     
Product:                   Hitachi HDP72505
Revision level:            GM4O

Serial Number ' GEB531RE0GEPGB'
Data from Caching Page
----------------------

Write Cache                        1
Read Cache                         1
Prefetch units                     0
Demand Read Retention Priority     0
Demand Write Retention Priority    0
Disable Pre-fetch Transfer Length  0
Minimum Pre-fetch                  0
Maximum Pre-fetch                  0
Maximum Pre-fetch Ceiling          0

Data from Error Recovery Page
-----------------------------

AWRE                               1
ARRE                               0
TB                                 0
RC                                 0
EER                                0
PER                                0
DTE                                0
DCR                                0
Read Retry Count                   0
Correction Span                    0
Head Offset Count                  0
Data Strobe Offset Count           0
Write Retry Count                  0
Recovery Time Limit                0

Data from Control Page
----------------------

RLEC                               0
QErr                               0
DQue                               0
EECA                               0
RAENP                              0
UUAENP                             0
EAENP                              0
Queue Algorithm Modifier           0
Ready AEN Holdoff Period           0

Data from Defect Lists
----------------------

#!/bin/sh -x

dmesg -c
uname -a

dd if=/dev/sda bs=512 count=1 skip=268435455 > /dev/null
dmesg -c
dd if=/dev/sda bs=1024 count=1 skip=134217727 > /dev/null dmesg -c
dd if=/dev/sda bs=2048 count=1 skip=67108863 > /dev/null dmesg -c
dd if=/dev/sda bs=4096 count=1 skip=33554431 > /dev/null dmesg -c
dd if=/dev/sda bs=8192 count=1 skip=16777215 > /dev/null dmesg -c
dd if=/dev/sda bs=16384 count=1 skip=8388607 > /dev/null
dmesg -c

seq 1 1 3 | while read i
do
dd if=/dev/sda bs=4096 count=$i skip=expr 33554432 - $i > /dev/null
done
dd if=/dev/sda bs=4096 count=100 skip=expr 33554432 - 3 > /dev/null

seq 1 1 17 | while read i
do
dd if=/dev/sda bs=512 count=$i skip=expr 268435456 - $i > /dev/null
done
dd if=/dev/sda bs=512 count=100 skip=expr 268435456 - 17 > /dev/null

Script started on Thu 15 May 2008 03:48:24 AM JST

pc:~# dmesg -c
pc:~# cat pctest.sh
#!/bin/sh -x

dmesg -c
uname -a

dd if=/dev/sda bs=512 count=1 skip=268435455 > /dev/null
dmesg -c
dd if=/dev/sda bs=1024 count=1 skip=134217727 > /dev/null dmesg -c
dd if=/dev/sda bs=2048 count=1 skip=67108863 > /dev/null dmesg -c
dd if=/dev/sda bs=4096 count=1 skip=33554431 > /dev/null dmesg -c
dd if=/dev/sda bs=8192 count=1 skip=16777215 > /dev/null dmesg -c
dd if=/dev/sda bs=16384 count=1 skip=8388607 > /dev/null
dmesg -c

seq 1 1 3 | while read i
do
dd if=/dev/sda bs=4096 count=$i skip=expr 33554432 - $i > /dev/null
done
dd if=/dev/sda bs=4096 count=100 skip=expr 33554432 - 3 > /dev/null

seq 1 1 17 | while read i
do
dd if=/dev/sda bs=512 count=$i skip=expr 268435456 - $i > /dev/null
done
dd if=/dev/sda bs=512 count=100 skip=expr 268435456 - 17 > /dev/null

pc:~# ./pctest.sh
+ dmesg -c
+ uname -a
Linux pc 2.6.25.3 #2 Thu May 15 01:05:14 JST 2008 i686 GNU/Linux
+ dd if=/dev/sda bs=512 count=1 skip=268435455
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.288352 s, 0.0 kB/s
+ dmesg -c
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
sd 2:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
sd 2:0:0:0: [sda] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
        0f ff ff f8 
sd 2:0:0:0: [sda] ASC=0x0 ASCQ=0x0
end_request: I/O error, dev sda, sector 268435448
printk: 11 messages suppressed.
Buffer I/O error on device sda, logical block 33554431
ata3: EH complete
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
sd 2:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
sd 2:0:0:0: [sda] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
        0f ff ff f8 
sd 2:0:0:0: [sda] ASC=0x0 ASCQ=0x0
end_request: I/O error, dev sda, sector 268435448
Buffer I/O error on device sda, logical block 33554431
ata3: EH complete
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
+ dd if=/dev/sda bs=1024 count=1 skip=134217727
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.289611 s, 0.0 kB/s
+ dmesg -c
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
sd 2:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
sd 2:0:0:0: [sda] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
        0f ff ff f8 
sd 2:0:0:0: [sda] ASC=0x0 ASCQ=0x0
end_request: I/O error, dev sda, sector 268435448
Buffer I/O error on device sda, logical block 33554431
ata3: EH complete
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
sd 2:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
sd 2:0:0:0: [sda] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
        0f ff ff f8 
sd 2:0:0:0: [sda] ASC=0x0 ASCQ=0x0
end_request: I/O error, dev sda, sector 268435448
Buffer I/O error on device sda, logical block 33554431
ata3: EH complete
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
+ dd if=/dev/sda bs=2048 count=1 skip=67108863
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.289707 s, 0.0 kB/s
+ dmesg -c
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
sd 2:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
sd 2:0:0:0: [sda] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
        0f ff ff f8 
sd 2:0:0:0: [sda] ASC=0x0 ASCQ=0x0
end_request: I/O error, dev sda, sector 268435448
Buffer I/O error on device sda, logical block 33554431
ata3: EH complete
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
sd 2:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
sd 2:0:0:0: [sda] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
        0f ff ff f8 
sd 2:0:0:0: [sda] ASC=0x0 ASCQ=0x0
end_request: I/O error, dev sda, sector 268435448
Buffer I/O error on device sda, logical block 33554431
ata3: EH complete
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
+ dd if=/dev/sda bs=4096 count=1 skip=33554431
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.289675 s, 0.0 kB/s
+ dmesg -c
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
sd 2:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
sd 2:0:0:0: [sda] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
        0f ff ff f8 
sd 2:0:0:0: [sda] ASC=0x0 ASCQ=0x0
end_request: I/O error, dev sda, sector 268435448
Buffer I/O error on device sda, logical block 33554431
ata3: EH complete
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
         res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
sd 2:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
sd 2:0:0:0: [sda] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
        0f ff ff f8 
sd 2:0:0:0: [sda] ASC=0x0 ASCQ=0x0
end_request: I/O error, dev sda, sector 268435448
Buffer I/O error on device sda, logical block 33554431
ata3: EH complete
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
+ dd if=/dev/sda bs=8192 count=1 skip=16777215
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.154464 s, 0.0 kB/s
+ dmesg -c
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:10:f0:ff:ff/00:00:00:00:00/ef tag 0 dma 8192 in
         res 51/04:10:f0:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:10:f0:ff:ff/00:00:00:00:00/ef tag 0 dma 8192 in
         res 51/04:10:f0:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:10:f0:ff:ff/00:00:00:00:00/ef tag 0 dma 8192 in
         res 51/04:10:f0:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:10:f0:ff:ff/00:00:00:00:00/ef tag 0 dma 8192 in
         res 51/04:10:f0:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:10:f0:ff:ff/00:00:00:00:00/ef tag 0 dma 8192 in
         res 51/04:10:f0:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:10:f0:ff:ff/00:00:00:00:00/ef tag 0 dma 8192 in
         res 51/04:10:f0:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
sd 2:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
sd 2:0:0:0: [sda] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
        0f ff ff f0 
sd 2:0:0:0: [sda] ASC=0x0 ASCQ=0x0
end_request: I/O error, dev sda, sector 268435440
Buffer I/O error on device sda, logical block 33554430
Buffer I/O error on device sda, logical block 33554431
ata3: EH complete
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
+ dd if=/dev/sda bs=16384 count=1 skip=8388607
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.153976 s, 0.0 kB/s
+ dmesg -c
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:20:e0:ff:ff/00:00:00:00:00/ef tag 0 dma 16384 in
         res 51/04:20:e0:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:20:e0:ff:ff/00:00:00:00:00/ef tag 0 dma 16384 in
         res 51/04:20:e0:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:20:e0:ff:ff/00:00:00:00:00/ef tag 0 dma 16384 in
         res 51/04:20:e0:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:20:e0:ff:ff/00:00:00:00:00/ef tag 0 dma 16384 in
         res 51/04:20:e0:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:20:e0:ff:ff/00:00:00:00:00/ef tag 0 dma 16384 in
         res 51/04:20:e0:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
ata3: EH complete
ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x25
ata3.00: cmd c8/00:20:e0:ff:ff/00:00:00:00:00/ef tag 0 dma 16384 in
         res 51/04:20:e0:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { ABRT }
ata3.00: configured for UDMA/33
sd 2:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
sd 2:0:0:0: [sda] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
        0f ff ff e0 
sd 2:0:0:0: [sda] ASC=0x0 ASCQ=0x0
end_request: I/O error, dev sda, sector 268435424
ata3: EH complete
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
+ seq 1 1 3
+ read i
++ expr 33554432 - 1
+ dd if=/dev/sda bs=4096 count=1 skip=33554431
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.286723 s, 0.0 kB/s
+ read i
++ expr 33554432 - 2
+ dd if=/dev/sda bs=4096 count=2 skip=33554430
dd: reading `/dev/sda': Input/output error
1+0 records in
1+0 records out
4096 bytes (4.1 kB) copied, 0.304475 s, 13.5 kB/s
+ read i
++ expr 33554432 - 3
+ dd if=/dev/sda bs=4096 count=3 skip=33554429
3+0 records in
3+0 records out
12288 bytes (12 kB) copied, 0.00529322 s, 2.3 MB/s
+ read i
++ expr 33554432 - 3
+ dd if=/dev/sda bs=4096 count=100 skip=33554429
100+0 records in
100+0 records out
409600 bytes (410 kB) copied, 0.00551966 s, 74.2 MB/s
+ seq 1 1 17
+ read i
++ expr 268435456 - 1
+ dd if=/dev/sda bs=512 count=1 skip=268435455
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.2878 s, 0.0 kB/s
+ read i
++ expr 268435456 - 2
+ dd if=/dev/sda bs=512 count=2 skip=268435454
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.290321 s, 0.0 kB/s
+ read i
++ expr 268435456 - 3
+ dd if=/dev/sda bs=512 count=3 skip=268435453
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.288523 s, 0.0 kB/s
+ read i
++ expr 268435456 - 4
+ dd if=/dev/sda bs=512 count=4 skip=268435452
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.289456 s, 0.0 kB/s
+ read i
++ expr 268435456 - 5
+ dd if=/dev/sda bs=512 count=5 skip=268435451
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.289504 s, 0.0 kB/s
+ read i
++ expr 268435456 - 6
+ dd if=/dev/sda bs=512 count=6 skip=268435450
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.289417 s, 0.0 kB/s
+ read i
++ expr 268435456 - 7
+ dd if=/dev/sda bs=512 count=7 skip=268435449
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.289421 s, 0.0 kB/s
+ read i
++ expr 268435456 - 8
+ dd if=/dev/sda bs=512 count=8 skip=268435448
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.289482 s, 0.0 kB/s
+ read i
++ expr 268435456 - 9
+ dd if=/dev/sda bs=512 count=9 skip=268435447
dd: reading `/dev/sda': Input/output error
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.309444 s, 1.7 kB/s
+ read i
++ expr 268435456 - 10
+ dd if=/dev/sda bs=512 count=10 skip=268435446
dd: reading `/dev/sda': Input/output error
2+0 records in
2+0 records out
1024 bytes (1.0 kB) copied, 0.317426 s, 3.2 kB/s
+ read i
++ expr 268435456 - 11
+ dd if=/dev/sda bs=512 count=11 skip=268435445
dd: reading `/dev/sda': Input/output error
3+0 records in
3+0 records out
1536 bytes (1.5 kB) copied, 0.305475 s, 5.0 kB/s
+ read i
++ expr 268435456 - 12
+ dd if=/dev/sda bs=512 count=12 skip=268435444
dd: reading `/dev/sda': Input/output error
4+0 records in
4+0 records out
2048 bytes (2.0 kB) copied, 0.305542 s, 6.7 kB/s
+ read i
++ expr 268435456 - 13
+ dd if=/dev/sda bs=512 count=13 skip=268435443
dd: reading `/dev/sda': Input/output error
5+0 records in
5+0 records out
2560 bytes (2.6 kB) copied, 0.305438 s, 8.4 kB/s
+ read i
++ expr 268435456 - 14
+ dd if=/dev/sda bs=512 count=14 skip=268435442
dd: reading `/dev/sda': Input/output error
6+0 records in
6+0 records out
3072 bytes (3.1 kB) copied, 0.305476 s, 10.1 kB/s
+ read i
++ expr 268435456 - 15
+ dd if=/dev/sda bs=512 count=15 skip=268435441
dd: reading `/dev/sda': Input/output error
7+0 records in
7+0 records out
3584 bytes (3.6 kB) copied, 0.305479 s, 11.7 kB/s
+ read i
++ expr 268435456 - 16
+ dd if=/dev/sda bs=512 count=16 skip=268435440
dd: reading `/dev/sda': Input/output error
8+0 records in
8+0 records out
4096 bytes (4.1 kB) copied, 0.305498 s, 13.4 kB/s
+ read i
++ expr 268435456 - 17
+ dd if=/dev/sda bs=512 count=17 skip=268435439
17+0 records in
17+0 records out
8704 bytes (8.7 kB) copied, 0.00587 s, 1.5 MB/s
+ read i
++ expr 268435456 - 17
+ dd if=/dev/sda bs=512 count=100 skip=268435439
100+0 records in
100+0 records out
51200 bytes (51 kB) copied, 0.00237427 s, 21.6 MB/s
pc:~# exit
exit

Script done on Thu 15 May 2008 03:48:42 AM JST

#4 lore raw
In reply to Taisuke Yamada

Jeff,

I never saw the below acked or nacked. I don't see it in 2.6.27-rc3-next.

Did you have any thoughts?

Greg

Quoted 83 lines · Taisuke Yamada

Hi.

I recently bought 3 HGST P7K500-series 500GB SATA drives and had trouble accessing the block right on the LBA28-LBA48 border. Here's how it fails (same for all 3 drives):

 # dd if=/dev/sdc bs=512 count=1 skip=268435455 > /dev/null
 dd: reading `/dev/sdc': Input/output error
 0+0 records in
 0+0 records out
 0 bytes (0 B) copied, 0.288033 seconds, 0.0 kB/s
 # dmesg
 ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
 ata1.00: BMDMA stat 0x25
 ata1.00: cmd c8/00:08:f8:ff:ff/00:00:00:00:00/ef tag 0 dma 4096 in
 res 51/04:08:f8:ff:ff/00:00:00:00:00/ef Emask 0x1 (device error)
 ata1.00: status: { DRDY ERR }
 ata1.00: error: { ABRT }
 ata1.00: configured for UDMA/33
 ata1: EH complete
 ...

After some investigations, it turned out this seems to be caused by misinterpretation of the ATA specification on LBA28 access. Following part is the code in question:

=== include/linux/ata.h ===
static inline int lba_28_ok(u64 block, u32 n_block)

 {
   /* check the ending block number */
   return ((block + n_block - 1) < ((u64)1 << 28)) && (n_block <= 256);

}

HGST drive (sometimes) fails with LBA28 access of {block = 0xfffffff, n_block = 1}, and this behavior seems to be comformant. Other drives, including other HGST drives are not that strict, through.

From the ATA specification:
(http://www.t13.org/Documents/UploadedDocuments/project/d1410r3b-ATA-ATAPI-6.pdf)

8.15.29 Word (61:60): Total number of user addressable sectors This field contains a value that is one greater than the total number of user addressable sectors (see 6.2). The maximum value that shall be placed in this field is 0FFFFFFFh.

So the driver shouldn't use the value of 0xfffffff for LBA28 request as this exceeds maximum user addressable sector. The logical maximum value for LBA28 is 0xffffffe.

The obvious fix is to cut "- 1" part, and the patch attached just do that. I've been using the patched kernel for about a month now, and the same fix is also floating on the net for some time. So I believe this fix works reliably.

Just FYI, many Windows/Intel platform users also seems to be struck by this, and HGST has issued a note pointing to Intel ICH8/9 driver.

"28-bit LBA command is being used to access LBAs 29-bits in length"
http://www.hitachigst.com/hddt/knowtree.nsf/cffe836ed7c12018862565b000530c74/b531b8bce8745fb78825740f00580e23

Also, *BSDs seems to have similar fix included sometime around ~2004, through I have not checked out exact portion of the code.

I do not subscribe to the list, so Cc: me if further discussion is needed.

Best Regards,
--
Taisuke Yamada

include/linux/ata.h 2008-04-01 20:33:44.460619700 +0900 renamed from include/linux/ata.h.orig 2008-05-03 16:08:13.224811900 +0900 +1 -1
@@ -599,7 +599,7 @@ static inline int ata_ok(u8 status)
 static inline int lba_28_ok(u64 block, u32 n_block)
 {
       /* check the ending block number */
-       return ((block + n_block - 1) < ((u64)1 << 28)) && (n_block <= 256);
+       return ((block + n_block) < ((u64)1 << 28)) && (n_block <= 256);
 }
 
 static inline int lba_48_ok(u64 block, u32 n_block)
Signature · 9 lines
Greg Freemyer
Litigation Triage Solutions Specialist
http://www.linkedin.com/in/gregfreemyer
First 99 Days Litigation White Paper -
http://www.norcrossgroup.com/forms/whitepapers/99%20Days%20whitepaper.pdf

The Norcross Group
The Intersection of Evidence & Technology
http://www.norcrossgroup.com
Acked-by
#5 lore raw
Quoted 5 lines
Quoted 5 lines

"28-bit LBA command is being used to access LBAs 29-bits in length"
http://www.hitachigst.com/hddt/knowtree.nsf/cffe836ed7c12018862565b000530c74/b531b8bce8745fb78825740f00580e23

Also, *BSDs seems to have similar fix included sometime around ~2004, through I have not checked out exact portion of the code.

By a very strict pessimal reading of the spec I would agree with you

Quoted 8 lines
Quoted 8 lines

I do not subscribe to the list, so Cc: me if further discussion is needed.

Best Regards,
--
Taisuke Yamada

Quoted 9 lines

include/linux/ata.h 2008-04-01 20:33:44.460619700 +0900 static inline int ata_ok(u8 status) · line 603

Quoted 9 lines
include/linux/ata.h 2008-04-01 20:33:44.460619700 +0900 renamed from include/linux/ata.h.orig 2008-05-03 16:08:13.224811900 +0900 +1 -1
@@ -599,7 +599,7 @@ static inline int ata_ok(u8 status)
 static inline int lba_28_ok(u64 block, u32 n_block)
 {
       /* check the ending block number */
-       return ((block + n_block - 1) < ((u64)1 << 28)) && (n_block <= 256);
+       return ((block + n_block) < ((u64)1 << 28)) && (n_block <= 256);
 }

(needs a signed off from the original author)

but

I'm happy with this Jeff and I think it should go in promptly (didn't realise it hadn't done so before). Whether the -1 is right could be argued in debate about fine points of the spec but it has no real impact to do this and if drives actually care about this in some cases we clearly should.