1CCISS(4)                   Kernel Interfaces Manual                   CCISS(4)
2
3
4

NAME

6       cciss - HP Smart Array block driver
7

SYNOPSIS

9       modprobe cciss [ cciss_allow_hpsa=1 ]
10

DESCRIPTION

12       cciss is a block driver for older HP Smart Array RAID controllers.
13

OPTIONS

15       cciss_allow_hpsa=1  This option prevents the cciss driver from attempt‐
16              ing to drive any controllers which the hpsa driver is capable of
17              controlling,  which is to say, the cciss driver is restricted by
18              this option to the following controllers:
19
20                   Smart Array 5300
21                   Smart Array 5i
22                   Smart Array 532
23                   Smart Array 5312
24                   Smart Array 641
25                   Smart Array 642
26                   Smart Array 6400
27                   Smart Array 6400 EM
28                   Smart Array 6i
29                   Smart Array P600
30                   Smart Array P400i
31                   Smart Array E200i
32                   Smart Array E200
33                   Smart Array E200i
34                   Smart Array E200i
35                   Smart Array E200i
36                   Smart Array E500
37
38
39

SUPPORTED HARDWARE

41       The cciss driver supports the following Smart Array boards:
42
43            Smart Array 5300
44            Smart Array 5i
45            Smart Array 532
46            Smart Array 5312
47            Smart Array 641
48            Smart Array 642
49            Smart Array 6400
50            Smart Array 6400 U320 Expansion Module
51            Smart Array 6i
52            Smart Array P600
53            Smart Array P800
54            Smart Array E400
55            Smart Array P400i
56            Smart Array E200
57            Smart Array E200i
58            Smart Array E500
59            Smart Array P700m
60            Smart Array P212
61            Smart Array P410
62            Smart Array P410i
63            Smart Array P411
64            Smart Array P812
65            Smart Array P712m
66            Smart Array P711m
67

CONFIGURATION DETAILS

69       To configure HP Smart Array controllers, use the HP Array Configuration
70       Utiltiy  (either hpacuxe or hpacucli) or the Offline ROM-based Configu‐
71       ration Utility (ORCA) run from the Smart Array's  option  ROM  at  boot
72       time.
73

FILES

75   DEVICE NODES
76       The device naming scheme is as follows:
77       Major numbers:
78               104     cciss0
79               105     cciss1
80               106     cciss2
81               105     cciss3
82               108     cciss4
83               109     cciss5
84               110     cciss6
85               111     cciss7
86
87       Minor numbers:
88               b7 b6 b5 b4 b3 b2 b1 b0
89               |----+----| |----+----|
90                    |           |
91                    |           +-------- Partition ID (0=wholedev, 1-15 partition)
92                    |
93                    +-------------------- Logical Volume number
94
95       The device naming scheme is:
96       /dev/cciss/c0d0                 Controller 0, disk 0, whole device
97       /dev/cciss/c0d0p1               Controller 0, disk 0, partition 1
98       /dev/cciss/c0d0p2               Controller 0, disk 0, partition 2
99       /dev/cciss/c0d0p3               Controller 0, disk 0, partition 3
100
101       /dev/cciss/c1d1                 Controller 1, disk 1, whole device
102       /dev/cciss/c1d1p1               Controller 1, disk 1, partition 1
103       /dev/cciss/c1d1p2               Controller 1, disk 1, partition 2
104       /dev/cciss/c1d1p3               Controller 1, disk 1, partition 3
105
106
107   FILES IN /proc
108       The  files /proc/driver/cciss/cciss[0-9]+ contain information about the
109       configuration of each controller.  For example:
110
111            someone@somehost:/proc/driver/cciss> ls -l
112            total 0
113            -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss0
114            -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss1
115            -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss2
116            someone@somehost:/proc/driver/cciss> cat cciss2
117            cciss2: HP Smart Array P800 Controller
118            Board ID: 0x3223103c
119            Firmware Version: 7.14
120            IRQ: 16
121            Logical drives: 1
122            Current Q depth: 0
123            Current # commands on controller: 0
124            Max Q depth since init: 1
125            Max # commands on controller since init: 2
126            Max SG entries since init: 32
127            Sequential access devices: 0
128
129            cciss/c2d0:      36.38GB RAID 0
130            someone@somehost:/proc/driver/cciss>
131
132
133   FILES IN /sys
134       /sys/bus/pci/devices/<dev>/ccissX/cXdY/model
135
136              Displays the SCSI INQUIRY page 0 model for logical  drive  Y  of
137              controller X.
138
139
140       /sys/bus/pci/devices/<dev>/ccissX/cXdY/rev
141
142              Displays the SCSI INQUIRY page 0 revision for logical drive Y of
143              controller X.
144
145
146       /sys/bus/pci/devices/<dev>/ccissX/cXdY/unique_id
147
148              Displays the SCSI INQUIRY page  83  serial  number  for  logical
149              drive Y of controller X.
150
151
152       /sys/bus/pci/devices/<dev>/ccissX/cXdY/vendor
153
154              Displays  the  SCSI INQUIRY page 0 vendor for logical drive Y of
155              controller X.
156
157
158       /sys/bus/pci/devices/<dev>/ccissX/cXdY/block:cciss!cXdY
159
160              A symbolic link to /sys/block/cciss!cXdY
161
162
163       /sys/bus/pci/devices/<dev>/ccissX/rescan
164
165              Kicks off a rescan of the controller to discover  logical  drive
166              topology changes.
167
168
169       /sys/bus/pci/devices/<dev>/ccissX/cXdY/lunid
170
171              Displays  the  8-byte  LUN ID used to address logical drive Y of
172              controller X.
173
174
175       /sys/bus/pci/devices/<dev>/ccissX/cXdY/raid_level
176
177              Displays the RAID level of logical drive Y of controller X.
178
179
180       /sys/bus/pci/devices/<dev>/ccissX/cXdY/usage_count
181
182              Displays the usage count (number of opens) of logical drive Y of
183              controller X.
184
185

SCSI tape drive and medium changer support

187       SCSI sequential access devices and medium changer devices are supported
188       and  appropriate  device  nodes  are  automatically   created.    (e.g.
189       /dev/st0, /dev/st1, etc.  See the "st" man page for more details.)  You
190       must enable "SCSI tape drive support for Smart Array  5xxx"  and  "SCSI
191       support"  in  your  kernel  configuration  to  be able to use SCSI tape
192       drives with your Smart Array 5xxx controller.
193
194       Additionally, note that the driver will not engage  the  SCSI  core  at
195       init  time.  The driver must be directed to dynamically engage the SCSI
196       core via the /proc filesystem entry  which  the  "block"  side  of  the
197       driver  creates  as  /proc/driver/cciss/cciss*  at  runtime.   This  is
198       because at driver init time, the SCSI core may not yet  be  initialized
199       (because  the  driver  is a block driver) and attempting to register it
200       with the SCSI core in such a case would cause a  hang.   This  is  best
201       done  via an initialization script (typically in /etc/init.d, but could
202       vary depending on distribution).  For example:
203
204               for x in /proc/driver/cciss/cciss[0-9]*
205               do
206                       echo "engage scsi" > $x
207               done
208
209       Once the SCSI core is engaged by the driver, it  cannot  be  disengaged
210       (except  by  unloading the driver, if it happens to be linked as a mod‐
211       ule.)
212
213       Note also that if no sequential access devices or medium  changers  are
214       detected,  the SCSI core will not be engaged by the action of the above
215       script.
216
217
218   Hot plug support for SCSI tape drives
219       Hot plugging of SCSI tape drives is supported, with some caveats.   The
220       cciss  driver  must  be informed that changes to the SCSI bus have been
221       made.  This may be done via the /proc filesystem.  For example:
222
223               echo "rescan" > /proc/scsi/cciss0/1
224
225       This causes the driver to query the adapter about changes to the physi‐
226       cal  SCSI  buses and/or fibre channel arbitrated loop and the driver to
227       make note of any new or removed sequential  access  devices  or  medium
228       changers.  The driver will output messages indicating what devices have
229       been added or removed and the controller, bus, target and lun  used  to
230       address  the  device.   It  then  notifies  the SCSI mid layer of these
231       changes.
232
233       Note that the naming convention of the /proc  filesystem  entries  con‐
234       tains  a number in addition to the driver name.  (E.g. "cciss0" instead
235       of just "cciss" which you might expect.)
236
237       Note: ONLY sequential access devices and medium changers are  presented
238       as  SCSI  devices  to the SCSI mid layer by the cciss driver.  Specifi‐
239       cally, physical SCSI disk drives are NOT  presented  to  the  SCSI  mid
240       layer.   The  physical  SCSI disk drives are controlled directly by the
241       array controller hardware and it is important  to  prevent  the  kernel
242       from  attempting  to directly access these devices too, as if the array
243       controller were merely a SCSI controller in the same way  that  we  are
244       allowing it to access SCSI tape drives.
245
246
247   SCSI error handling for tape drives and medium changers
248       The  linux  SCSI  mid  layer  provides an error handling protocol which
249       kicks into gear whenever a SCSI command fails to complete within a cer‐
250       tain  amount  of  time  (which can vary depending on the command).  The
251       cciss driver participates in this protocol to some extent.  The  normal
252       protocol is a four step process.  First the device is told to abort the
253       command.  If that doesn't work, the device is reset.  If  that  doesn't
254       work, the SCSI bus is reset.  If that doesn't work the host bus adapter
255       is reset.  Because the cciss driver is a block driver as well as a SCSI
256       driver  and  only  the tape drives and medium changers are presented to
257       the SCSI mid layer, and unlike more straightforward SCSI drivers,  disk
258       i/o  continues  through  the  block side during the SCSI error recovery
259       process, the cciss driver  only  implements  the  first  two  of  these
260       actions, aborting the command, and resetting the device.  Additionally,
261       most tape drives will not oblige in aborting commands, and sometimes it
262       appears they will not even obey a reset command, though in most circum‐
263       stances they will.  In the case that the command cannot be aborted  and
264       the device cannot be reset, the device will be set offline.
265
266       In  the  event the error handling code is triggered and a tape drive is
267       successfully reset or the tardy command is  successfully  aborted,  the
268       tape  drive  may  still not allow i/o to continue until some command is
269       issued which positions the tape to a  known  position.   Typically  you
270       must  rewind  the tape (by issuing "mt -f /dev/st0 rewind" for example)
271       before i/o can proceed again to a tape drive which was reset.
272
273

SEE ALSO

275       hpsa(4),      hpacucli(8),       hpacuxe(8),       cciss_vol_status(8),
276       http://cciss.sf.net,  and  from  the  linux  kernel  source, Documenta‐
277       tion/blockdev/cciss.txt  and   Documentation/ABI/testing/sysfs-bus-pci-
278       devices-cciss
279

AUTHORS

281       Don  Brace,  Steve  Cameron,  Chase  Maupin,  Mike  Miller, Michael Ni,
282       Charles White, Francis Wiran and probably some other people.
283
284
285
286
287
288                                     cciss                            CCISS(4)
Impressum