brintos

brintos / linux-shallow public Read only

0
0
Text · 5.1 KiB · 340e10c Raw
130 lines · plain
1.. SPDX-License-Identifier: GPL-2.02 3=========================================4HPSA - Hewlett Packard Smart Array driver5=========================================6 7This file describes the hpsa SCSI driver for HP Smart Array controllers.8The hpsa driver is intended to supplant the cciss driver for newer9Smart Array controllers.  The hpsa driver is a SCSI driver, while the10cciss driver is a "block" driver.  Actually cciss is both a block11driver (for logical drives) AND a SCSI driver (for tape drives). This12"split-brained" design of the cciss driver is a source of excess13complexity and eliminating that complexity is one of the reasons14for hpsa to exist.15 16Supported devices17=================18 19- Smart Array P21220- Smart Array P41021- Smart Array P410i22- Smart Array P41123- Smart Array P81224- Smart Array P712m25- Smart Array P711m26- StorageWorks P1210m27 28Additionally, older Smart Arrays may work with the hpsa driver if the kernel29boot parameter "hpsa_allow_any=1" is specified, however these are not tested30nor supported by HP with this driver.  For older Smart Arrays, the cciss31driver should still be used.32 33The "hpsa_simple_mode=1" boot parameter may be used to prevent the driver from34putting the controller into "performant" mode.  The difference is that with simple35mode, each command completion requires an interrupt, while with "performant mode"36(the default, and ordinarily better performing) it is possible to have multiple37command completions indicated by a single interrupt.38 39HPSA specific entries in /sys40=============================41 42  In addition to the generic SCSI attributes available in /sys, hpsa supports43  the following attributes:44 45HPSA specific host attributes46=============================47 48  ::49 50    /sys/class/scsi_host/host*/rescan51    /sys/class/scsi_host/host*/firmware_revision52    /sys/class/scsi_host/host*/resettable53    /sys/class/scsi_host/host*/transport_mode54 55  the host "rescan" attribute is a write only attribute.  Writing to this56  attribute will cause the driver to scan for new, changed, or removed devices57  (e.g. hot-plugged tape drives, or newly configured or deleted logical drives,58  etc.) and notify the SCSI midlayer of any changes detected.  Normally this is59  triggered automatically by HP's Array Configuration Utility (either the GUI or60  command line variety) so for logical drive changes, the user should not61  normally have to use this.  It may be useful when hot plugging devices like62  tape drives, or entire storage boxes containing pre-configured logical drives.63 64  The "firmware_revision" attribute contains the firmware version of the Smart Array.65  For example::66 67	root@host:/sys/class/scsi_host/host4# cat firmware_revision68	7.1469 70  The transport_mode indicates whether the controller is in "performant"71  or "simple" mode.  This is controlled by the "hpsa_simple_mode" module72  parameter.73 74  The "resettable" read-only attribute indicates whether a particular75  controller is able to honor the "reset_devices" kernel parameter.  If the76  device is resettable, this file will contain a "1", otherwise, a "0".  This77  parameter is used by kdump, for example, to reset the controller at driver78  load time to eliminate any outstanding commands on the controller and get the79  controller into a known state so that the kdump initiated i/o will work right80  and not be disrupted in any way by stale commands or other stale state81  remaining on the controller from the previous kernel.  This attribute enables82  kexec tools to warn the user if they attempt to designate a device which is83  unable to honor the reset_devices kernel parameter as a dump device.84 85HPSA specific disk attributes86-----------------------------87 88  ::89 90    /sys/class/scsi_disk/c:b:t:l/device/unique_id91    /sys/class/scsi_disk/c:b:t:l/device/raid_level92    /sys/class/scsi_disk/c:b:t:l/device/lunid93 94  (where c:b:t:l are the controller, bus, target and lun of the device)95 96  For example::97 98	root@host:/sys/class/scsi_disk/4:0:0:0/device# cat unique_id99	600508B1001044395355323037570F77100	root@host:/sys/class/scsi_disk/4:0:0:0/device# cat lunid101	0x0000004000000000102	root@host:/sys/class/scsi_disk/4:0:0:0/device# cat raid_level103	RAID 0104 105HPSA specific ioctls106====================107 108  For compatibility with applications written for the cciss driver, many, but109  not all of the ioctls supported by the cciss driver are also supported by the110  hpsa driver.  The data structures used by these are described in111  include/linux/cciss_ioctl.h112 113  CCISS_DEREGDISK, CCISS_REGNEWDISK, CCISS_REGNEWD114	The above three ioctls all do exactly the same thing, which is to cause the driver115	to rescan for new devices.  This does exactly the same thing as writing to the116	hpsa specific host "rescan" attribute.117 118  CCISS_GETPCIINFO119	Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID).120 121  CCISS_GETDRIVVER122	Returns driver version in three bytes encoded as::123 124		(major_version << 16) | (minor_version << 8) | (subminor_version)125 126  CCISS_PASSTHRU, CCISS_BIG_PASSTHRU127	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 storage129	agents, etc.  See cciss_vol_status at http://cciss.sf.net for some examples.130