[Wilfried.Weissmann@gmx.at: Bug#277534: hal: harddisk partition scan does not check harddisk size]

Sjoerd Simons sjoerd at luon.net
Wed Oct 20 12:51:58 PDT 2004


Hi,

  Got the mail below from a debian user. The volume_id code in debian's
  0.2.98-3 is the same as the one in upstream's 0.4.0.. 

----- Forwarded message from Wilfried Weissmann <Wilfried.Weissmann at gmx.at> -----
Package: hal
Version: 0.2.98-3
Severity: important

Hi,

I have debian installed on a raid-0 volume of one of those lowcost pseudo
hardware raid controllers (Highpoint-Tech HPT370A). I do not use the
binary kernel module from HPT to run the controller with linux, but
instead I use the devicemapper/EVMS to setup the raid volumes.
The problem is that the partition table (of the raid volume) that is
stored on the first disk at the usual place (sector 2 I think) is
picked by the hald-daemon. The partition table contains illegal offsets
for the single non-raid disk of course. hald does not stop at this point
but starts to scan the harddisk and makes the kernel puke ide erros:

<log>
Oct 19 20:18:58 tbird kernel: hdg: 0 bytes in FIFO
Oct 19 20:18:58 tbird kernel: hdg: timeout waiting for DMA
Oct 19 20:18:58 tbird kernel: hdg: dma_intr: status=0x51 { DriveReady
SeekComplete Error }
Oct 19 20:18:58 tbird kernel: hdg: dma_intr: error=0x10 {
SectorIdNotFound }, LBAsect=160071496, se
ctor=160071496
Oct 19 20:18:59 tbird kernel: hdg: 0 bytes in FIFO
Oct 19 20:18:59 tbird kernel: hdg: timeout waiting for DMA
Oct 19 20:18:59 tbird kernel: hdg: dma_intr: status=0x51 { DriveReady
SeekComplete Error }
Oct 19 20:18:59 tbird kernel: hdg: dma_intr: error=0x10 {
SectorIdNotFound }, LBAsect=160071496, se
ctor=160071496
Oct 19 20:18:59 tbird kernel: hdg: 0 bytes in FIFO
Oct 19 20:18:59 tbird kernel: hdg: timeout waiting for DMA
Oct 19 20:18:59 tbird kernel: hdg: dma_intr: status=0x51 { DriveReady
SeekComplete Error }
Oct 19 20:18:59 tbird kernel: hdg: dma_intr: error=0x10 {
SectorIdNotFound }, LBAsect=160071496, se
ctor=160071496
Oct 19 20:18:59 tbird kernel: hdg: 0 bytes in FIFO
Oct 19 20:18:59 tbird kernel: hdg: timeout waiting for DMA
Oct 19 20:18:59 tbird kernel: hdg: dma_intr: status=0x51 { DriveReady
SeekComplete Error }
Oct 19 20:18:59 tbird kernel: hdg: dma_intr: error=0x10 {
SectorIdNotFound }, LBAsect=160071496, se
ctor=160071496
Oct 19 20:18:59 tbird kernel: hdg: DMA disabled
Oct 19 20:18:59 tbird kernel: ide3: reset: success

<...snip...>

Oct 19 20:18:59 tbird kernel: hdg: task_in_intr: status=0x59 {
DriveReady SeekComplete DataRequest Error }
Oct 19 20:18:59 tbird kernel: hdg: task_in_intr: error=0x10 {
SectorIdNotFound }, LBAsect=160071496, sector=160071496
Oct 19 20:18:59 tbird kernel: hdg: task_in_intr: status=0x59 {
DriveReady SeekComplete DataRequest Error }
Oct 19 20:18:59 tbird kernel: hdg: task_in_intr: error=0x10 {
SectorIdNotFound }, LBAsect=160071496, sector=160071496
Oct 19 20:18:59 tbird kernel: ide3: reset: success
Oct 19 20:18:59 tbird kernel: hdg: task_in_intr: status=0x59 {
DriveReady SeekComplete DataRequest Error }
Oct 19 20:18:59 tbird kernel: hdg: task_in_intr: error=0x10 {
SectorIdNotFound }, LBAsect=160071496, sector=160071496
Oct 19 20:18:59 tbird kernel: end_request: I/O error, dev hdg, sector
160071496
Oct 19 20:18:59 tbird kernel: Buffer I/O error on device hdg3, logical
block 144544
</log>

So it scans "hdg3" which is the swap partition at the end of the raid
volume:

<command>
tbird:/var/log# fdisk /dev/evms/.nodes/hptraid0p

The number of cylinders for this disk is set to 9964.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

   Command (m for help): p

   Disk /dev/evms/.nodes/hptraid0p: 81.9 GB, 81964171264 bytes
   255 heads, 63 sectors/track, 9964 cylinders
   Units = cylinders of 16065 * 512 = 8225280 bytes

                        Device Boot      Start         End      Blocks
			Id  System
			/dev/evms/.nodes/hptraid0p1   *           1
			4177    33551721    7  HPFS/NTFS
			/dev/evms/.nodes/hptraid0p2            4178
			9928    46194907+  83  Linux
			/dev/evms/.nodes/hptraid0p3            9929
			9964      289170   82  Linux swap
</command>

The raid-0 volume consists of 2 40GB HDs:

<log>
Oct 20 19:30:45 tbird kernel: HPT370A: IDE controller at PCI slot
0000:00:0b.0
Oct 20 19:30:45 tbird kernel: PCI: Enabling device 0000:00:0b.0 (0005 ->
0007)
Oct 20 19:30:45 tbird kernel: HPT370A: chipset revision 4
Oct 20 19:30:45 tbird kernel: HPT37X: using 33MHz PCI clock
Oct 20 19:30:45 tbird kernel: HPT370A: 100%% native mode on irq 11
Oct 20 19:30:45 tbird kernel:     ide2: BM-DMA at 0xcc00-0xcc07, BIOS
settings: hde:pio, hdf:pio
Oct 20 19:30:45 tbird kernel:     ide3: BM-DMA at 0xcc08-0xcc0f, BIOS
settings: hdg:pio, hdh:pio
Oct 20 19:30:45 tbird kernel: hde: Maxtor 5T040H4, ATA DISK drive
Oct 20 19:30:45 tbird kernel: ide2 at 0xdc00-0xdc07,0xd802 on irq 11
Oct 20 19:30:45 tbird kernel: hdg: Maxtor 5T040H4, ATA DISK drive
Oct 20 19:30:45 tbird kernel: ide3 at 0xd400-0xd407,0xd002 on irq 11
Oct 20 19:30:45 tbird kernel: hde: max request size: 128KiB
Oct 20 19:30:45 tbird kernel: hde: 80043264 sectors (40982 MB) w/2048KiB
Cache, CHS=65535/16/63, UDMA(100)
Oct 20 19:30:45 tbird kernel:  /dev/ide/host2/bus0/target0/lun0: unknown
partition table
Oct 20 19:30:45 tbird kernel: hdg: max request size: 128KiB
Oct 20 19:30:45 tbird kernel: hdg: 80043264 sectors (40982 MB) w/2048KiB
Cache, CHS=65535/16/63, UDMA(100)
Oct 20 19:30:45 tbird kernel:  /dev/ide/host2/bus1/target0/lun0: p1 p2
p3
</log>

----- End forwarded message -----

-- 
We warn the reader in advance that the proof presented here depends on a
clever but highly unmotivated trick.
		-- Howard Anton, "Elementary Linear Algebra"
_______________________________________________
hal mailing list
hal at freedesktop.org
http://freedesktop.org/mailman/listinfo/hal



More information about the Hal mailing list