.\" Copyright (C) 2011, Hewlett-Packard Development Company, L.P.
.\" Written by Stephen M. Cameron <scameron@beardog.cce.hp.com>
+.\"
+.\" %%%LICENSE_START(GPLv2_ONELINE)
.\" Licensed under GNU General Public License version 2 (GPLv2)
+.\" %%%LICENSE_END
.\"
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
-.TH CCISS 4 2012-08-05 "Linux" "Linux Programmer's Manual"
+.TH CCISS 4 2017-09-15 "Linux" "Linux Programmer's Manual"
.SH NAME
cciss \- HP Smart Array block driver
.SH SYNOPSIS
modprobe cciss [ cciss_allow_hpsa=1 ]
.fi
.SH DESCRIPTION
+.\" commit 253d2464df446456c0bba5ed4137a7be0b278aa8
+.BR Note :
+This obsolete driver was removed from the kernel in version 4.14,
+as it is superseded by the
+.BR hpsa (4)
+driver in newer kernels.
+.PP
.B cciss
is a block driver for older HP Smart Array RAID controllers.
.SS Options
driver is capable of controlling, which is to say, the
.B cciss
driver is restricted by this option to the following controllers:
+.PP
.nf
-
Smart Array 5300
Smart Array 5i
Smart Array 532
The
.B cciss
driver supports the following Smart Array boards:
+.PP
.nf
-
Smart Array 5300
Smart Array 5i
Smart Array 532
.SH FILES
.SS Device nodes
The device naming scheme is as follows:
+.PP
.nf
-
Major numbers:
-
+.PP
104 cciss0
105 cciss1
106 cciss2
109 cciss5
110 cciss6
111 cciss7
-
+.PP
Minor numbers:
-
+.PP
b7 b6 b5 b4 b3 b2 b1 b0
|----+----| |----+----|
| |
- | +-------- Partition ID (0=wholedev, 1-15 partition)
+ | +-------- Partition ID (0=wholedev, 1\-15 partition)
|
+-------------------- Logical Volume number
-
+.PP
The device naming scheme is:
-
+.PP
/dev/cciss/c0d0 Controller 0, disk 0, whole device
/dev/cciss/c0d0p1 Controller 0, disk 0, partition 1
/dev/cciss/c0d0p2 Controller 0, disk 0, partition 2
/dev/cciss/c0d0p3 Controller 0, disk 0, partition 3
-
+.PP
/dev/cciss/c1d1 Controller 1, disk 1, whole device
/dev/cciss/c1d1p1 Controller 1, disk 1, partition 1
/dev/cciss/c1d1p2 Controller 1, disk 1, partition 2
/dev/cciss/c1d1p3 Controller 1, disk 1, partition 3
-
.fi
.SS Files in /proc
The files
-.I /proc/driver/cciss/cciss[0-9]+
+.I /proc/driver/cciss/cciss[0\-9]+
contain information about
the configuration of each controller.
For example:
-.nf
-
- $ \fBcd /proc/driver/cciss\fP
- $ \fBls -l\fP
- total 0
- -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss0
- -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss1
- -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss2
- $ \fBcat cciss2\fP
- cciss2: HP Smart Array P800 Controller
- Board ID: 0x3223103c
- Firmware Version: 7.14
- IRQ: 16
- Logical drives: 1
- Current Q depth: 0
- Current # commands on controller: 0
- Max Q depth since init: 1
- Max # commands on controller since init: 2
- Max SG entries since init: 32
- Sequential access devices: 0
+.PP
+.in +4n
+.EX
+$ \fBcd /proc/driver/cciss\fP
+$ \fBls -l\fP
+total 0
+-rw-r--r-- 1 root root 0 2010\-09\-10 10:38 cciss0
+-rw-r--r-- 1 root root 0 2010\-09\-10 10:38 cciss1
+-rw-r--r-- 1 root root 0 2010\-09\-10 10:38 cciss2
+$ \fBcat cciss2\fP
+cciss2: HP Smart Array P800 Controller
+Board ID: 0x3223103c
+Firmware Version: 7.14
+IRQ: 16
+Logical drives: 1
+Current Q depth: 0
+Current # commands on controller: 0
+Max Q depth since init: 1
+Max # commands on controller since init: 2
+Max SG entries since init: 32
+Sequential access devices: 0
- cciss/c2d0: 36.38GB RAID 0
-
-.fi
+cciss/c2d0: 36.38GB RAID 0
+.EE
+.in
+.\"
.SS Files in /sys
.TP
.I /sys/bus/pci/devices/<dev>/ccissX/cXdY/model
You must enable "SCSI tape drive support for Smart Array 5xxx" and
"SCSI support" in your kernel configuration to be able to use SCSI
tape drives with your Smart Array 5xxx controller.
-
+.PP
Additionally, note that the driver will not engage the SCSI core at
init time.
-The driver must be directed to dynamically engage the SCSI core via
-the /proc file-system entry,
+The driver must be directed to dynamically engage the SCSI core via the
+.I /proc
+filesystem entry,
which the "block" side of the driver creates as
.I /proc/driver/cciss/cciss*
at run time.
.IR /etc/init.d ,
but could vary depending on distribution).
For example:
-.nf
-
- for x in /proc/driver/cciss/cciss[0-9]*
- do
- echo "engage scsi" > $x
- done
-
-.fi
+.PP
+.in +4n
+.EX
+for x in /proc/driver/cciss/cciss[0\-9]*
+do
+ echo "engage scsi" > $x
+done
+.EE
+.in
+.PP
Once the SCSI core is engaged by the driver, it cannot be disengaged
(except by unloading the driver, if it happens to be linked as a module.)
-
+.PP
Note also that if no sequential access devices or medium changers are
detected, the SCSI core will not be engaged by the action of the above
script.
.B cciss
driver must be informed that changes to the SCSI bus
have been made.
-This may be done via the /proc file system.
+This may be done via the
+.I /proc
+filesystem.
For example:
-
+.PP
echo "rescan" > /proc/scsi/cciss0/1
-
+.PP
This causes the driver to:
.RS
.IP 1. 3
make note of any new or removed sequential access devices
or medium changers.
.RE
-.LP
+.PP
The driver will output messages indicating which
-devices have been added or removed and the controller, bus, target and
+devices have been added or removed and the controller, bus, target, and
lun used to address each device.
The driver then notifies the SCSI midlayer
of these changes.
-
-Note that the naming convention of the /proc file-system entries
+.PP
+Note that the naming convention of the
+.I /proc
+filesystem entries
contains a number in addition to the driver name
(e.g., "cciss0"
instead of just "cciss", which you might expect).
-
+.PP
Note:
.I Only
sequential access devices and medium changers are presented
.IP *
If that doesn't work, the SCSI bus is reset.
.IP *
-If that doesn't work the host bus adapter is reset.
-.LP
+If that doesn't work, the host bus adapter is reset.
+.PP
The
.B cciss
driver is a block
driver as well as a SCSI driver and only the tape drives and medium
-changers are presented to the SCSI midlayer
+changers are presented to the SCSI midlayer.
Furthermore, unlike more
straightforward SCSI drivers, disk I/O continues through the block
-side during the SCSI error-recovery process
+side during the SCSI error-recovery process.
Therefore, the
.B cciss
driver implements only the first two of these actions,
obey a reset command, though in most circumstances they will.
If the command cannot be aborted and the device cannot be
reset, the device will be set offline.
-
+.PP
In the event that the error-handling code is triggered and a tape drive is
successfully reset or the tardy command is successfully aborted, the
tape drive may still not allow I/O to continue until some command
.I "mt -f /dev/st0 rewind"
for example) before I/O can proceed again to a tape drive that was reset.
.SH SEE ALSO
-.BR cciss_vol_status (8),
.BR hpsa (4),
+.BR cciss_vol_status (8),
.BR hpacucli (8),
-.BR hpacuxe (8),
-
+.BR hpacuxe (8)
+.PP
.UR http://cciss.sf.net
.UE ,
and