Blame view

Documentation/scsi/hpsa.txt 5.03 KB
992ebcf14   Stephen M. Cameron   [SCSI] hpsa: Add ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  
  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.
02ec19c82   Stephen M. Cameron   [SCSI] hpsa: allo...
30
31
32
33
34
  The "hpsa_simple_mode=1" boot parameter may be used to prevent the driver from
  putting the controller into "performant" mode.  The difference is that with simple
  mode, each command completion requires an interrupt, while with "performant mode"
  (the default, and ordinarily better performing) it is possible to have multiple
  command completions indicated by a single interrupt.
992ebcf14   Stephen M. Cameron   [SCSI] hpsa: Add ...
35
36
37
38
39
40
41
42
43
44
  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
d28ce020f   Stephen M. Cameron   [SCSI] hpsa: expo...
45
    /sys/class/scsi_host/host*/firmware_revision
941b1cdae   Stephen M. Cameron   [SCSI] hpsa: expo...
46
    /sys/class/scsi_host/host*/resettable
745a7a25b   Stephen M. Cameron   [SCSI] hpsa: Add ...
47
    /sys/class/scsi_host/host*/transport_mode
992ebcf14   Stephen M. Cameron   [SCSI] hpsa: Add ...
48
49
50
51
52
53
54
55
56
  
    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.
d28ce020f   Stephen M. Cameron   [SCSI] hpsa: expo...
57
58
59
60
61
    The "firmware_revision" attribute contains the firmware version of the Smart Array.
    For example:
  
  	root@host:/sys/class/scsi_host/host4# cat firmware_revision
  	7.14
745a7a25b   Stephen M. Cameron   [SCSI] hpsa: Add ...
62
63
64
    The transport_mode indicates whether the controller is in "performant"
    or "simple" mode.  This is controlled by the "hpsa_simple_mode" module
    parameter.
941b1cdae   Stephen M. Cameron   [SCSI] hpsa: expo...
65
66
67
68
69
70
71
72
73
74
    The "resettable" read-only attribute indicates whether a particular
    controller is able to honor the "reset_devices" kernel parameter.  If the
    device is resettable, this file will contain a "1", otherwise, a "0".  This
    parameter is used by kdump, for example, to reset the controller at driver
    load time to eliminate any outstanding commands on the controller and get the
    controller into a known state so that the kdump initiated i/o will work right
    and not be disrupted in any way by stale commands or other stale state
    remaining on the controller from the previous kernel.  This attribute enables
    kexec tools to warn the user if they attempt to designate a device which is
    unable to honor the reset_devices kernel parameter as a dump device.
992ebcf14   Stephen M. Cameron   [SCSI] hpsa: Add ...
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
    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.