]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man4/cciss.4
fd.4: ffix: tables: Move units from numbers to the header
[thirdparty/man-pages.git] / man4 / cciss.4
CommitLineData
d3ea2cc7
MK
1.\" Copyright (C) 2011, Hewlett-Packard Development Company, L.P.
2.\" Written by Stephen M. Cameron <scameron@beardog.cce.hp.com>
2297bf0e 3.\"
c4a99c30 4.\" %%%LICENSE_START(GPLv2_ONELINE)
d3ea2cc7 5.\" Licensed under GNU General Public License version 2 (GPLv2)
8ff7380d 6.\" %%%LICENSE_END
536fabdf 7.\"
dc91c006
SC
8.\" shorthand for double quote that works everywhere.
9.ds q \N'34'
b8efb414 10.TH CCISS 4 2016-10-08 "Linux" "Linux Programmer's Manual"
dc91c006
SC
11.SH NAME
12cciss \- HP Smart Array block driver
13.SH SYNOPSIS
14.nf
15modprobe cciss [ cciss_allow_hpsa=1 ]
16.fi
17.SH DESCRIPTION
18.B cciss
19is a block driver for older HP Smart Array RAID controllers.
3357b1ec
MK
20.SS Options
21.IR "cciss_allow_hpsa=1" :
536fabdf
MK
22This option prevents the
23.B cciss
4fa0ef7e 24driver from attempting to drive any controllers that the
536fabdf
MK
25.BR hpsa (4)
26driver is capable of controlling, which is to say, the
27.B cciss
28driver is restricted by this option to the following controllers:
a2b7a144 29.PP
dc91c006 30.nf
3357b1ec
MK
31 Smart Array 5300
32 Smart Array 5i
33 Smart Array 532
34 Smart Array 5312
35 Smart Array 641
36 Smart Array 642
37 Smart Array 6400
38 Smart Array 6400 EM
39 Smart Array 6i
40 Smart Array P600
41 Smart Array P400i
42 Smart Array E200i
43 Smart Array E200
44 Smart Array E200i
45 Smart Array E200i
46 Smart Array E200i
47 Smart Array E500
dc91c006 48.fi
c634028a 49.SS Supported hardware
dc91c006
SC
50The
51.B cciss
52driver supports the following Smart Array boards:
a2b7a144 53.PP
dc91c006 54.nf
3357b1ec
MK
55 Smart Array 5300
56 Smart Array 5i
57 Smart Array 532
58 Smart Array 5312
59 Smart Array 641
60 Smart Array 642
61 Smart Array 6400
62 Smart Array 6400 U320 Expansion Module
63 Smart Array 6i
64 Smart Array P600
65 Smart Array P800
66 Smart Array E400
67 Smart Array P400i
68 Smart Array E200
69 Smart Array E200i
70 Smart Array E500
71 Smart Array P700m
72 Smart Array P212
73 Smart Array P410
74 Smart Array P410i
75 Smart Array P411
76 Smart Array P812
77 Smart Array P712m
78 Smart Array P711m
dc91c006 79.fi
c634028a 80.SS Configuration details
3357b1ec
MK
81To configure HP Smart Array controllers,
82use the HP Array Configuration Utility
536fabdf
MK
83(either
84.BR hpacuxe (8)
85or
86.BR hpacucli (8))
87or the Offline ROM-based Configuration Utility (ORCA)
dc91c006
SC
88run from the Smart Array's option ROM at boot time.
89.SH FILES
c634028a 90.SS Device nodes
dc91c006 91The device naming scheme is as follows:
a2b7a144 92.PP
dc91c006
SC
93.nf
94Major numbers:
a2b7a144 95.PP
3357b1ec
MK
96 104 cciss0
97 105 cciss1
98 106 cciss2
99 105 cciss3
100 108 cciss4
101 109 cciss5
102 110 cciss6
103 111 cciss7
a2b7a144 104.PP
dc91c006 105Minor numbers:
a2b7a144 106.PP
3357b1ec
MK
107 b7 b6 b5 b4 b3 b2 b1 b0
108 |----+----| |----+----|
109 | |
9bc87ed0 110 | +-------- Partition ID (0=wholedev, 1\-15 partition)
3357b1ec
MK
111 |
112 +-------------------- Logical Volume number
a2b7a144 113.PP
dc91c006 114The device naming scheme is:
a2b7a144 115.PP
3357b1ec
MK
116 /dev/cciss/c0d0 Controller 0, disk 0, whole device
117 /dev/cciss/c0d0p1 Controller 0, disk 0, partition 1
118 /dev/cciss/c0d0p2 Controller 0, disk 0, partition 2
119 /dev/cciss/c0d0p3 Controller 0, disk 0, partition 3
a2b7a144 120.PP
3357b1ec
MK
121 /dev/cciss/c1d1 Controller 1, disk 1, whole device
122 /dev/cciss/c1d1p1 Controller 1, disk 1, partition 1
123 /dev/cciss/c1d1p2 Controller 1, disk 1, partition 2
124 /dev/cciss/c1d1p3 Controller 1, disk 1, partition 3
dc91c006 125.fi
3357b1ec 126.SS Files in /proc
536fabdf 127The files
9bc87ed0 128.I /proc/driver/cciss/cciss[0\-9]+
3357b1ec
MK
129contain information about
130the configuration of each controller.
131For example:
019d9ee8
MK
132.PP
133.in +4n
134.EX
135$ \fBcd /proc/driver/cciss\fP
136$ \fBls -l\fP
137total 0
9bc87ed0
MK
138-rw-r--r-- 1 root root 0 2010\-09\-10 10:38 cciss0
139-rw-r--r-- 1 root root 0 2010\-09\-10 10:38 cciss1
140-rw-r--r-- 1 root root 0 2010\-09\-10 10:38 cciss2
019d9ee8
MK
141$ \fBcat cciss2\fP
142cciss2: HP Smart Array P800 Controller
143Board ID: 0x3223103c
144Firmware Version: 7.14
145IRQ: 16
146Logical drives: 1
147Current Q depth: 0
148Current # commands on controller: 0
149Max Q depth since init: 1
150Max # commands on controller since init: 2
151Max SG entries since init: 32
152Sequential access devices: 0
3357b1ec 153
019d9ee8
MK
154cciss/c2d0: 36.38GB RAID 0
155.EE
156.in
157.\"
3357b1ec 158.SS Files in /sys
3357b1ec
MK
159.TP
160.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/model
536fabdf
MK
161Displays the SCSI INQUIRY page 0 model for logical drive
162.I Y
163of controller
164.IR X .
3357b1ec
MK
165.TP
166.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/rev
536fabdf
MK
167Displays the SCSI INQUIRY page 0 revision for logical drive
168.I Y
169of controller
170.IR X .
3357b1ec
MK
171.TP
172.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/unique_id
536fabdf
MK
173Displays the SCSI INQUIRY page 83 serial number for logical drive
174.I Y
175of controller
176.IR X .
3357b1ec
MK
177.TP
178.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/vendor
536fabdf
MK
179Displays the SCSI INQUIRY page 0 vendor for logical drive
180.I Y
181of controller
182.IR X .
3357b1ec
MK
183.TP
184.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/block:cciss!cXdY
536fabdf
MK
185A symbolic link to
186.IR /sys/block/cciss!cXdY .
3357b1ec
MK
187.TP
188.I /sys/bus/pci/devices/<dev>/ccissX/rescan
c98253f8 189When this file is written to, the driver rescans the controller
4fa0ef7e 190to discover any new, removed, or modified logical drives.
3357b1ec
MK
191.TP
192.I /sys/bus/pci/devices/<dev>/ccissX/resettable
536fabdf
MK
193A value of 1 displayed in this file indicates that
194the "reset_devices=1" kernel parameter (used by
195.BR kdump )
196is honored by this controller.
197A value of 0 indicates that the
3357b1ec
MK
198"reset_devices=1" kernel parameter will not be honored.
199Some models of Smart Array are not able to honor this parameter.
200.TP
201.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/lunid
536fabdf
MK
202Displays the 8-byte LUN ID used to address logical drive
203.I Y
204of controller
205.IR X .
3357b1ec
MK
206.TP
207.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/raid_level
536fabdf
MK
208Displays the RAID level of logical drive
209.I Y
210of controller
211.IR X .
3357b1ec
MK
212.TP
213.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/usage_count
536fabdf
MK
214Displays the usage count (number of opens) of logical drive
215.I Y
216of controller
217.IR X .
3357b1ec 218.SS SCSI tape drive and medium changer support
dc91c006 219SCSI sequential access devices and medium changer devices are supported and
536fabdf 220appropriate device nodes are automatically created (e.g.,
3357b1ec 221.IR /dev/st0 ,
536fabdf
MK
222.IR /dev/st1 ,
223etc.; see
3357b1ec
MK
224.BR st (4)
225for more details.)
dc91c006
SC
226You must enable "SCSI tape drive support for Smart Array 5xxx" and
227"SCSI support" in your kernel configuration to be able to use SCSI
228tape drives with your Smart Array 5xxx controller.
5b539973 229.PP
536fabdf
MK
230Additionally, note that the driver will not engage the SCSI core at
231init time.
282c1a35
MK
232The driver must be directed to dynamically engage the SCSI core via the
233.I /proc
234filesystem entry,
4fa0ef7e 235which the "block" side of the driver creates as
536fabdf 236.I /proc/driver/cciss/cciss*
72c90260 237at run time.
3357b1ec 238This is because at driver init time,
dc91c006
SC
239the SCSI core may not yet be initialized (because the driver is a block
240driver) and attempting to register it with the SCSI core in such a case
3357b1ec
MK
241would cause a hang.
242This is best done via an initialization script
243(typically in
244.IR /etc/init.d ,
245but could vary depending on distribution).
dc91c006 246For example:
a2b7a144
MK
247.PP
248.in +4n
249.EX
9bc87ed0 250for x in /proc/driver/cciss/cciss[0\-9]*
a2b7a144
MK
251do
252 echo "engage scsi" > $x
253done
254.EE
255.in
256.PP
dc91c006
SC
257Once the SCSI core is engaged by the driver, it cannot be disengaged
258(except by unloading the driver, if it happens to be linked as a module.)
5b539973 259.PP
dc91c006
SC
260Note also that if no sequential access devices or medium changers are
261detected, the SCSI core will not be engaged by the action of the above
262script.
dc91c006 263.SS Hot plug support for SCSI tape drives
dc91c006 264Hot plugging of SCSI tape drives is supported, with some caveats.
536fabdf
MK
265The
266.B cciss
267driver must be informed that changes to the SCSI bus
3357b1ec 268have been made.
282c1a35
MK
269This may be done via the
270.I /proc
271filesystem.
dc91c006 272For example:
5b539973 273.PP
3357b1ec 274 echo "rescan" > /proc/scsi/cciss0/1
5b539973 275.PP
536fabdf
MK
276This causes the driver to:
277.RS
278.IP 1. 3
279query the adapter about changes to the
280physical SCSI buses and/or fibre channel arbitrated loop, and
281.IP 2.
282make note of any new or removed sequential access devices
3357b1ec 283or medium changers.
536fabdf 284.RE
dd3568a1 285.PP
536fabdf 286The driver will output messages indicating which
a797afac 287devices have been added or removed and the controller, bus, target, and
536fabdf
MK
288lun used to address each device.
289The driver then notifies the SCSI midlayer
dc91c006 290of these changes.
5b539973 291.PP
282c1a35
MK
292Note that the naming convention of the
293.I /proc
294filesystem entries
3357b1ec
MK
295contains a number in addition to the driver name
296(e.g., "cciss0"
536fabdf 297instead of just "cciss", which you might expect).
5b539973 298.PP
536fabdf 299Note:
3357b1ec
MK
300.I Only
301sequential access devices and medium changers are presented
536fabdf
MK
302as SCSI devices to the SCSI midlayer by the
303.B cciss
304driver.
3357b1ec
MK
305Specifically, physical SCSI disk drives are
306.I not
4fa0ef7e
MK
307presented to the SCSI midlayer.
308The only disk devices that are presented to the kernel are logical
309drives that the array controller constructs from regions on
310the physical drives.
311The logical drives are presented to the block layer
312(not to the SCSI midlayer).
313It is important for the driver to prevent the kernel from accessing the
ddc30fd2 314physical drives directly, since these drives are used by the array
4fa0ef7e 315controller to construct the logical drives.
dc91c006 316.SS SCSI error handling for tape drives and medium changers
4fa0ef7e 317The Linux SCSI midlayer provides an error-handling protocol that
536fabdf 318is initiated whenever a SCSI command fails to complete within a
dc91c006 319certain amount of time (which can vary depending on the command).
536fabdf
MK
320The
321.B cciss
322driver participates in this protocol to some extent.
323The normal protocol is a four-step process:
324.IP * 3
325First, the device is told to abort the command.
326.IP *
3357b1ec 327If that doesn't work, the device is reset.
536fabdf 328.IP *
3357b1ec 329If that doesn't work, the SCSI bus is reset.
536fabdf 330.IP *
661d0f7c 331If that doesn't work, the host bus adapter is reset.
dd3568a1 332.PP
536fabdf
MK
333The
334.B cciss
335driver is a block
dc91c006 336driver as well as a SCSI driver and only the tape drives and medium
9cbbcfc0 337changers are presented to the SCSI midlayer.
536fabdf
MK
338Furthermore, unlike more
339straightforward SCSI drivers, disk I/O continues through the block
9cbbcfc0 340side during the SCSI error-recovery process.
536fabdf
MK
341Therefore, the
342.B cciss
343driver implements only the first two of these actions,
344aborting the command, and resetting the device.
345Note also that most tape drives will not oblige
dc91c006 346in aborting commands, and sometimes it appears they will not even
3357b1ec 347obey a reset command, though in most circumstances they will.
536fabdf 348If the command cannot be aborted and the device cannot be
dc91c006 349reset, the device will be set offline.
5b539973 350.PP
536fabdf 351In the event that the error-handling code is triggered and a tape drive is
dc91c006 352successfully reset or the tardy command is successfully aborted, the
536fabdf 353tape drive may still not allow I/O to continue until some command
4fa0ef7e 354is issued that positions the tape to a known position.
3357b1ec
MK
355Typically you must rewind the tape (by issuing
356.I "mt -f /dev/st0 rewind"
4fa0ef7e 357for example) before I/O can proceed again to a tape drive that was reset.
47297adb 358.SH SEE ALSO
3357b1ec 359.BR hpsa (4),
d830b8be 360.BR cciss_vol_status (8),
3357b1ec 361.BR hpacucli (8),
a46e3ad2 362.BR hpacuxe (8)
5b539973 363.PP
608bf950
SK
364.UR http://cciss.sf.net
365.UE ,
173fe7e7 366and
3357b1ec
MK
367.I Documentation/blockdev/cciss.txt
368and
369.I Documentation/ABI/testing/sysfs-bus-pci-devices-cciss
173fe7e7 370in the Linux kernel source tree
6ad2da24
MK
371.\" .SH AUTHORS
372.\" Don Brace, Steve Cameron, Chase Maupin, Mike Miller, Michael Ni,
373.\" Charles White, Francis Wiran
374.\" and probably some other people.