hpsa.rst 5.1 KB

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