linux/Documentation/scsi/hpsa.txt
<<
>>
Prefs
   1
   2HPSA - Hewlett Packard Smart Array driver
   3-----------------------------------------
   4
   5This file describes the hpsa SCSI driver for HP Smart Array controllers.
   6The hpsa driver is intended to supplant the cciss driver for newer
   7Smart Array controllers.  The hpsa driver is a SCSI driver, while the
   8cciss driver is a "block" driver.  Actually cciss is both a block
   9driver (for logical drives) AND a SCSI driver (for tape drives). This
  10"split-brained" design of the cciss driver is a source of excess
  11complexity and eliminating that complexity is one of the reasons
  12for hpsa to exist.
  13
  14Supported devices:
  15------------------
  16
  17Smart Array P212
  18Smart Array P410
  19Smart Array P410i
  20Smart Array P411
  21Smart Array P812
  22Smart Array P712m
  23Smart Array P711m
  24StorageWorks P1210m
  25
  26Additionally, older Smart Arrays may work with the hpsa driver if the kernel
  27boot parameter "hpsa_allow_any=1" is specified, however these are not tested
  28nor supported by HP with this driver.  For older Smart Arrays, the cciss
  29driver should still be used.
  30
  31The "hpsa_simple_mode=1" boot parameter may be used to prevent the driver from
  32putting the controller into "performant" mode.  The difference is that with simple
  33mode, each command completion requires an interrupt, while with "performant mode"
  34(the default, and ordinarily better performing) it is possible to have multiple
  35command completions indicated by a single interrupt.
  36
  37HPSA specific entries in /sys
  38-----------------------------
  39
  40  In addition to the generic SCSI attributes available in /sys, hpsa supports
  41  the following attributes:
  42
  43  HPSA specific host attributes:
  44  ------------------------------
  45
  46  /sys/class/scsi_host/host*/rescan
  47  /sys/class/scsi_host/host*/firmware_revision
  48  /sys/class/scsi_host/host*/resettable
  49  /sys/class/scsi_host/host*/transport_mode
  50
  51  the host "rescan" attribute is a write only attribute.  Writing to this
  52  attribute will cause the driver to scan for new, changed, or removed devices
  53  (e.g. hot-plugged tape drives, or newly configured or deleted logical drives,
  54  etc.) and notify the SCSI midlayer of any changes detected.  Normally this is
  55  triggered automatically by HP's Array Configuration Utility (either the GUI or
  56  command line variety) so for logical drive changes, the user should not
  57  normally have to use this.  It may be useful when hot plugging devices like
  58  tape drives, or entire storage boxes containing pre-configured logical drives.
  59
  60  The "firmware_revision" attribute contains the firmware version of the Smart Array.
  61  For example:
  62
  63        root@host:/sys/class/scsi_host/host4# cat firmware_revision
  64        7.14
  65
  66  The transport_mode indicates whether the controller is in "performant"
  67  or "simple" mode.  This is controlled by the "hpsa_simple_mode" module
  68  parameter.
  69
  70  The "resettable" read-only attribute indicates whether a particular
  71  controller is able to honor the "reset_devices" kernel parameter.  If the
  72  device is resettable, this file will contain a "1", otherwise, a "0".  This
  73  parameter is used by kdump, for example, to reset the controller at driver
  74  load time to eliminate any outstanding commands on the controller and get the
  75  controller into a known state so that the kdump initiated i/o will work right
  76  and not be disrupted in any way by stale commands or other stale state
  77  remaining on the controller from the previous kernel.  This attribute enables
  78  kexec tools to warn the user if they attempt to designate a device which is
  79  unable to honor the reset_devices kernel parameter as a dump device.
  80
  81  HPSA specific disk attributes:
  82  ------------------------------
  83
  84  /sys/class/scsi_disk/c:b:t:l/device/unique_id
  85  /sys/class/scsi_disk/c:b:t:l/device/raid_level
  86  /sys/class/scsi_disk/c:b:t:l/device/lunid
  87
  88  (where c:b:t:l are the controller, bus, target and lun of the device)
  89
  90  For example:
  91
  92        root@host:/sys/class/scsi_disk/4:0:0:0/device# cat unique_id
  93        600508B1001044395355323037570F77
  94        root@host:/sys/class/scsi_disk/4:0:0:0/device# cat lunid
  95        0x0000004000000000
  96        root@host:/sys/class/scsi_disk/4:0:0:0/device# cat raid_level
  97        RAID 0
  98
  99HPSA specific ioctls:
 100---------------------
 101
 102  For compatibility with applications written for the cciss driver, many, but
 103  not all of the ioctls supported by the cciss driver are also supported by the
 104  hpsa driver.  The data structures used by these are described in
 105  include/linux/cciss_ioctl.h
 106
 107  CCISS_DEREGDISK
 108  CCISS_REGNEWDISK
 109  CCISS_REGNEWD
 110
 111  The above three ioctls all do exactly the same thing, which is to cause the driver
 112  to rescan for new devices.  This does exactly the same thing as writing to the
 113  hpsa specific host "rescan" attribute.
 114
 115  CCISS_GETPCIINFO
 116
 117        Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID).
 118
 119  CCISS_GETDRIVVER
 120
 121        Returns driver version in three bytes encoded as:
 122                (major_version << 16) | (minor_version << 8) | (subminor_version)
 123
 124  CCISS_PASSTHRU
 125  CCISS_BIG_PASSTHRU
 126
 127        Allows "BMIC" and "CISS" commands to be passed through to the Smart Array.
 128        These are used extensively by the HP Array Configuration Utility, SNMP storage
 129        agents, etc.  See cciss_vol_status at http://cciss.sf.net for some examples.
 130
 131
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.