hpsa.txt 4.0 KB

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