|
@@ -0,0 +1,100 @@
|
|
|
+
|
|
|
+HPSA - Hewlett Packard Smart Array driver
|
|
|
+-----------------------------------------
|
|
|
+
|
|
|
+This file describes the hpsa SCSI driver for HP Smart Array controllers.
|
|
|
+The hpsa driver is intended to supplant the cciss driver for newer
|
|
|
+Smart Array controllers. The hpsa driver is a SCSI driver, while the
|
|
|
+cciss driver is a "block" driver. Actually cciss is both a block
|
|
|
+driver (for logical drives) AND a SCSI driver (for tape drives). This
|
|
|
+"split-brained" design of the cciss driver is a source of excess
|
|
|
+complexity and eliminating that complexity is one of the reasons
|
|
|
+for hpsa to exist.
|
|
|
+
|
|
|
+Supported devices:
|
|
|
+------------------
|
|
|
+
|
|
|
+Smart Array P212
|
|
|
+Smart Array P410
|
|
|
+Smart Array P410i
|
|
|
+Smart Array P411
|
|
|
+Smart Array P812
|
|
|
+Smart Array P712m
|
|
|
+Smart Array P711m
|
|
|
+StorageWorks P1210m
|
|
|
+
|
|
|
+Additionally, older Smart Arrays may work with the hpsa driver if the kernel
|
|
|
+boot parameter "hpsa_allow_any=1" is specified, however these are not tested
|
|
|
+nor supported by HP with this driver. For older Smart Arrays, the cciss
|
|
|
+driver should still be used.
|
|
|
+
|
|
|
+HPSA specific entries in /sys
|
|
|
+-----------------------------
|
|
|
+
|
|
|
+ In addition to the generic SCSI attributes available in /sys, hpsa supports
|
|
|
+ the following attributes:
|
|
|
+
|
|
|
+ HPSA specific host attributes:
|
|
|
+ ------------------------------
|
|
|
+
|
|
|
+ /sys/class/scsi_host/host*/rescan
|
|
|
+
|
|
|
+ the host "rescan" attribute is a write only attribute. Writing to this
|
|
|
+ attribute will cause the driver to scan for new, changed, or removed devices
|
|
|
+ (e.g. hot-plugged tape drives, or newly configured or deleted logical drives,
|
|
|
+ etc.) and notify the SCSI midlayer of any changes detected. Normally this is
|
|
|
+ triggered automatically by HP's Array Configuration Utility (either the GUI or
|
|
|
+ command line variety) so for logical drive changes, the user should not
|
|
|
+ normally have to use this. It may be useful when hot plugging devices like
|
|
|
+ tape drives, or entire storage boxes containing pre-configured logical drives.
|
|
|
+
|
|
|
+ HPSA specific disk attributes:
|
|
|
+ ------------------------------
|
|
|
+
|
|
|
+ /sys/class/scsi_disk/c:b:t:l/device/unique_id
|
|
|
+ /sys/class/scsi_disk/c:b:t:l/device/raid_level
|
|
|
+ /sys/class/scsi_disk/c:b:t:l/device/lunid
|
|
|
+
|
|
|
+ (where c:b:t:l are the controller, bus, target and lun of the device)
|
|
|
+
|
|
|
+ For example:
|
|
|
+
|
|
|
+ root@host:/sys/class/scsi_disk/4:0:0:0/device# cat unique_id
|
|
|
+ 600508B1001044395355323037570F77
|
|
|
+ root@host:/sys/class/scsi_disk/4:0:0:0/device# cat lunid
|
|
|
+ 0x0000004000000000
|
|
|
+ root@host:/sys/class/scsi_disk/4:0:0:0/device# cat raid_level
|
|
|
+ RAID 0
|
|
|
+
|
|
|
+HPSA specific ioctls:
|
|
|
+---------------------
|
|
|
+
|
|
|
+ For compatibility with applications written for the cciss driver, many, but
|
|
|
+ not all of the ioctls supported by the cciss driver are also supported by the
|
|
|
+ hpsa driver. The data structures used by these are described in
|
|
|
+ include/linux/cciss_ioctl.h
|
|
|
+
|
|
|
+ CCISS_DEREGDISK
|
|
|
+ CCISS_REGNEWDISK
|
|
|
+ CCISS_REGNEWD
|
|
|
+
|
|
|
+ The above three ioctls all do exactly the same thing, which is to cause the driver
|
|
|
+ to rescan for new devices. This does exactly the same thing as writing to the
|
|
|
+ hpsa specific host "rescan" attribute.
|
|
|
+
|
|
|
+ CCISS_GETPCIINFO
|
|
|
+
|
|
|
+ Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID).
|
|
|
+
|
|
|
+ CCISS_GETDRIVVER
|
|
|
+
|
|
|
+ Returns driver version in three bytes encoded as:
|
|
|
+ (major_version << 16) | (minor_version << 8) | (subminor_version)
|
|
|
+
|
|
|
+ CCISS_PASSTHRU
|
|
|
+ CCISS_BIG_PASSTHRU
|
|
|
+
|
|
|
+ Allows "BMIC" and "CISS" commands to be passed through to the Smart Array.
|
|
|
+ These are used extensively by the HP Array Configuration Utility, SNMP storage
|
|
|
+ agents, etc. See cciss_vol_status at http://cciss.sf.net for some examples.
|
|
|
+
|