IDE-Driver Disk Accounting Missing, Maybe SCSI too......

Andre M. Hedrick (hedrick@astro.dyer.vanderbilt.edu)
Sun, 9 Aug 1998 23:26:25 -0500 (CDT)


In "./linux/drivers/block/ll_rw_blk.c", both 2.0.x and 2.1.x are
missing disk_index(ing) and disk_accounting for devices(disks)
beyond "hddx". Since SCSI block devices use a single MAJOR and
IDE block devices use 6 MAJORs, I can understand that this could
be an oversight for the following reasons ::

There were only 2 IDE HWIF's in the beginning. (original 2 MAJORs)

Nobody puts a disk on any of the last 4 IDE HWIF's (wrong, now).

Gee, I know I am forgetting something, but what was it.
Well no one is complaining

I am willing to make the assumption and statement that the lack of
disk_accounting based on HWGROUP add-request to disable interrupts,
could be the primary cause of fs-corruption on IDE drives.
If only the first four devices are required to get in line for
their turn in the request-lists, the last 8 devices could cause the
order of events (READS/WRITES) to be mishandled.

Note that even SCSI controllers with less than 4 disks must get in line,
too. Now, could SCSI disk 5 wrinkle SCSI block chain, since there have
been some reports of SCSI drives suffering from fs-corruption too?

See snip from "./linux/drivers/block/ll_rw_blk.c"

/*
* add-request adds a request to the linked list.
* It disables interrupts (aquires the request spinlock) so that it can muck
* with the request-lists in peace. Thus it should be called with no spinlocks
* held.
*
* By this point, req->cmd is always either READ/WRITE, never READA/WRITEA,
* which is important for drive_stat_acct() above.
*/
void add_request(struct blk_dev_struct * dev, struct request * req)
{
}

Regards,
Andre Hedrick

Syslog reports of ide-disk indexing

Aug 9 20:33:23 Orion kernel:
ide0 at 0xeff0-0xeff7,0xefe6 on irq 19
ide1 at 0xefa8-0xefaf,0xefe2 on irq 19 (shared with ide0)
ide2 at 0xefa0-0xefa7,0xef8e on irq 18
ide3 at 0xef80-0xef87,0xef8a on irq 18
ide4 at 0xeea0-0xeea7,0xeeb6 on irq 17
ide5 at 0xeea8-0xeeaf,0xeebe on irq 17
hdc: ATAPI 10X CDROM drive, 256kB Cache
hdi: ATAPI 4X CDROM changer w/4 slots, 128kB Cache
Partition check:
hda: hda1 hda2 hda3 hda4
hdb: hdb1 hdb2
hdd: IDE_22_MAJOR: disk_index = 0x0003 : hdd1
hde: IDE_33_MAJOR: disk_index = 0x0004 : hde1
hdf: IDE_33_MAJOR: disk_index = 0x0005 : hdf1
hdg: IDE_34_MAJOR: disk_index = 0x0006 : hdg1
hdh: IDE_34_MAJOR: disk_index = 0x0007 : hdh1
hdk: IDE_57_MAJOR: disk_index = 0x000a : hdk1
hdl: IDE_57_MAJOR: disk_index = 0x000b : hdl1
VFS: Mounted root (ext2 filesystem) readonly.

This was deleted from reporting due to the inital syslog FLOOD.....
hda: IDE_3_MAJOR: disk_index = 0x0000 : hda1 hda2 hda3 hda4
hdb: IDE_3_MAJOR: disk_index = 0x0001 : hdb1 hdb2

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html