accessing DISK_SPECIFIC structure

From: Dave Simmonds (dave.simmonds@pawis.com)
Date: Wed May 24 2006 - 04:31:08 EDT


I am trying to access the kernel structure DISK_SPECIFIC for each disk in my
V5.1 system.

I can get the SCSI_DIDARR structures via calls to nlist for
_camdb_didarr_ptr and _camdb_did_high.
I then look for dev_type == ALL_DTYPE_DIRECT to find the hard disks.
Under V4.0X, I used cam_ptr to find a PDRV_DEVICE3 structure which contained
an element pd_spec_list, but under V5.1 pd_spec_list is actually contained
in the SCSI_DIDARR structure.
I search down this list.
Under V4.0X I looked for spec_reg_no == 1 and spec_ptr pointed at a
DISK_SPECIFIC structure.
Under V5.1 I don't get any records with spec_reg_no == 1, I get a record
with spec_reg_no == 2, which has a spec_size of 1440. I don't know what type
of structure this is, and I get stuck at this point.

Does anyone know what this record with spec_reg_no == 2 is, or have any
other ideas about finding DISK_SPECIFIC structures.
I can't find any documentation on this anywhere - I feel I've done quite
well to work out as much as I have on my own!

Thanks,
Dave Simmonds



This archive was generated by hypermail 2.1.7 : Sat Apr 12 2008 - 10:50:30 EDT