539 lines
13 KiB
HTML
539 lines
13 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of CCISS</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>CCISS</H1>
|
|
Section: Linux Programmer's Manual (4)<BR>Updated: 2017-09-15<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
cciss - HP Smart Array block driver
|
|
<A NAME="lbAC"> </A>
|
|
<H2>SYNOPSIS</H2>
|
|
|
|
<PRE>
|
|
modprobe cciss [ cciss_allow_hpsa=1 ]
|
|
</PRE>
|
|
|
|
<A NAME="lbAD"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
|
|
<B>Note</B>:
|
|
|
|
This obsolete driver was removed from the kernel in version 4.14,
|
|
as it is superseded by the
|
|
<B><A HREF="/cgi-bin/man/man2html?4+hpsa">hpsa</A></B>(4)
|
|
|
|
driver in newer kernels.
|
|
<P>
|
|
|
|
<B>cciss</B>
|
|
|
|
is a block driver for older HP Smart Array RAID controllers.
|
|
<A NAME="lbAE"> </A>
|
|
<H3>Options</H3>
|
|
|
|
<I>cciss_allow_hpsa=1</I>:
|
|
|
|
This option prevents the
|
|
<B>cciss</B>
|
|
|
|
driver from attempting to drive any controllers that the
|
|
<B><A HREF="/cgi-bin/man/man2html?4+hpsa">hpsa</A></B>(4)
|
|
|
|
driver is capable of controlling, which is to say, the
|
|
<B>cciss</B>
|
|
|
|
driver is restricted by this option to the following controllers:
|
|
<P>
|
|
|
|
<PRE>
|
|
Smart Array 5300
|
|
Smart Array 5i
|
|
Smart Array 532
|
|
Smart Array 5312
|
|
Smart Array 641
|
|
Smart Array 642
|
|
Smart Array 6400
|
|
Smart Array 6400 EM
|
|
Smart Array 6i
|
|
Smart Array P600
|
|
Smart Array P400i
|
|
Smart Array E200i
|
|
Smart Array E200
|
|
Smart Array E200i
|
|
Smart Array E200i
|
|
Smart Array E200i
|
|
Smart Array E500
|
|
</PRE>
|
|
|
|
<A NAME="lbAF"> </A>
|
|
<H3>Supported hardware</H3>
|
|
|
|
The
|
|
<B>cciss</B>
|
|
|
|
driver supports the following Smart Array boards:
|
|
<P>
|
|
|
|
<PRE>
|
|
Smart Array 5300
|
|
Smart Array 5i
|
|
Smart Array 532
|
|
Smart Array 5312
|
|
Smart Array 641
|
|
Smart Array 642
|
|
Smart Array 6400
|
|
Smart Array 6400 U320 Expansion Module
|
|
Smart Array 6i
|
|
Smart Array P600
|
|
Smart Array P800
|
|
Smart Array E400
|
|
Smart Array P400i
|
|
Smart Array E200
|
|
Smart Array E200i
|
|
Smart Array E500
|
|
Smart Array P700m
|
|
Smart Array P212
|
|
Smart Array P410
|
|
Smart Array P410i
|
|
Smart Array P411
|
|
Smart Array P812
|
|
Smart Array P712m
|
|
Smart Array P711m
|
|
</PRE>
|
|
|
|
<A NAME="lbAG"> </A>
|
|
<H3>Configuration details</H3>
|
|
|
|
To configure HP Smart Array controllers,
|
|
use the HP Array Configuration Utility
|
|
(either
|
|
<B><A HREF="/cgi-bin/man/man2html?8+hpacuxe">hpacuxe</A></B>(8)
|
|
|
|
or
|
|
<B><A HREF="/cgi-bin/man/man2html?8+hpacucli">hpacucli</A></B>(8))
|
|
|
|
or the Offline ROM-based Configuration Utility (ORCA)
|
|
run from the Smart Array's option ROM at boot time.
|
|
<A NAME="lbAH"> </A>
|
|
<H2>FILES</H2>
|
|
|
|
<A NAME="lbAI"> </A>
|
|
<H3>Device nodes</H3>
|
|
|
|
The device naming scheme is as follows:
|
|
<P>
|
|
|
|
<PRE>
|
|
Major numbers:
|
|
|
|
104 cciss0
|
|
105 cciss1
|
|
106 cciss2
|
|
105 cciss3
|
|
108 cciss4
|
|
109 cciss5
|
|
110 cciss6
|
|
111 cciss7
|
|
|
|
Minor numbers:
|
|
|
|
b7 b6 b5 b4 b3 b2 b1 b0
|
|
|----+----| |----+----|
|
|
| |
|
|
| +-------- Partition ID (0=wholedev, 1-15 partition)
|
|
|
|
|
+-------------------- Logical Volume number
|
|
|
|
The device naming scheme is:
|
|
|
|
/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
|
|
|
|
/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
|
|
</PRE>
|
|
|
|
<A NAME="lbAJ"> </A>
|
|
<H3>Files in /proc</H3>
|
|
|
|
The files
|
|
<I>/proc/driver/cciss/cciss[0-9]+</I>
|
|
|
|
contain information about
|
|
the configuration of each controller.
|
|
For example:
|
|
<P>
|
|
|
|
|
|
|
|
$ <B>cd /proc/driver/cciss</B>
|
|
$ <B>ls -l</B>
|
|
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
|
|
$ <B>cat cciss2</B>
|
|
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
|
|
<P>
|
|
cciss/c2d0: 36.38GB RAID 0
|
|
|
|
|
|
|
|
<A NAME="lbAK"> </A>
|
|
<H3>Files in /sys</H3>
|
|
|
|
<DL COMPACT>
|
|
<DT id="1"><I>/sys/bus/pci/devices/<dev>/ccissX/cXdY/model</I>
|
|
|
|
<DD>
|
|
Displays the SCSI INQUIRY page 0 model for logical drive
|
|
<I>Y</I>
|
|
|
|
of controller
|
|
<I>X</I>.
|
|
|
|
<DT id="2"><I>/sys/bus/pci/devices/<dev>/ccissX/cXdY/rev</I>
|
|
|
|
<DD>
|
|
Displays the SCSI INQUIRY page 0 revision for logical drive
|
|
<I>Y</I>
|
|
|
|
of controller
|
|
<I>X</I>.
|
|
|
|
<DT id="3"><I>/sys/bus/pci/devices/<dev>/ccissX/cXdY/unique_id</I>
|
|
|
|
<DD>
|
|
Displays the SCSI INQUIRY page 83 serial number for logical drive
|
|
<I>Y</I>
|
|
|
|
of controller
|
|
<I>X</I>.
|
|
|
|
<DT id="4"><I>/sys/bus/pci/devices/<dev>/ccissX/cXdY/vendor</I>
|
|
|
|
<DD>
|
|
Displays the SCSI INQUIRY page 0 vendor for logical drive
|
|
<I>Y</I>
|
|
|
|
of controller
|
|
<I>X</I>.
|
|
|
|
<DT id="5"><I>/sys/bus/pci/devices/<dev>/ccissX/cXdY/block:cciss!cXdY</I>
|
|
|
|
<DD>
|
|
A symbolic link to
|
|
<I>/sys/block/cciss!cXdY</I>.
|
|
|
|
<DT id="6"><I>/sys/bus/pci/devices/<dev>/ccissX/rescan</I>
|
|
|
|
<DD>
|
|
When this file is written to, the driver rescans the controller
|
|
to discover any new, removed, or modified logical drives.
|
|
<DT id="7"><I>/sys/bus/pci/devices/<dev>/ccissX/resettable</I>
|
|
|
|
<DD>
|
|
A value of 1 displayed in this file indicates that
|
|
the "reset_devices=1" kernel parameter (used by
|
|
<B>kdump</B>)
|
|
|
|
is honored by this controller.
|
|
A value of 0 indicates that the
|
|
"reset_devices=1" kernel parameter will not be honored.
|
|
Some models of Smart Array are not able to honor this parameter.
|
|
<DT id="8"><I>/sys/bus/pci/devices/<dev>/ccissX/cXdY/lunid</I>
|
|
|
|
<DD>
|
|
Displays the 8-byte LUN ID used to address logical drive
|
|
<I>Y</I>
|
|
|
|
of controller
|
|
<I>X</I>.
|
|
|
|
<DT id="9"><I>/sys/bus/pci/devices/<dev>/ccissX/cXdY/raid_level</I>
|
|
|
|
<DD>
|
|
Displays the RAID level of logical drive
|
|
<I>Y</I>
|
|
|
|
of controller
|
|
<I>X</I>.
|
|
|
|
<DT id="10"><I>/sys/bus/pci/devices/<dev>/ccissX/cXdY/usage_count</I>
|
|
|
|
<DD>
|
|
Displays the usage count (number of opens) of logical drive
|
|
<I>Y</I>
|
|
|
|
of controller
|
|
<I>X</I>.
|
|
|
|
</DL>
|
|
<A NAME="lbAL"> </A>
|
|
<H3>SCSI tape drive and medium changer support</H3>
|
|
|
|
SCSI sequential access devices and medium changer devices are supported and
|
|
appropriate device nodes are automatically created (e.g.,
|
|
<I>/dev/st0</I>,
|
|
|
|
<I>/dev/st1</I>,
|
|
|
|
etc.; see
|
|
<B><A HREF="/cgi-bin/man/man2html?4+st">st</A></B>(4)
|
|
|
|
for more details.)
|
|
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.
|
|
<P>
|
|
|
|
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
|
|
<I>/proc</I>
|
|
|
|
filesystem entry,
|
|
which the "block" side of the driver creates as
|
|
<I>/proc/driver/cciss/cciss*</I>
|
|
|
|
at run time.
|
|
This is because at driver init time,
|
|
the SCSI core may not yet be initialized (because the driver is a block
|
|
driver) and attempting to register it with the SCSI core in such a case
|
|
would cause a hang.
|
|
This is best done via an initialization script
|
|
(typically in
|
|
<I>/etc/init.d</I>,
|
|
|
|
but could vary depending on distribution).
|
|
For example:
|
|
<P>
|
|
|
|
|
|
|
|
for x in /proc/driver/cciss/cciss[0-9]*
|
|
do
|
|
<BR> echo "engage scsi" > $x
|
|
done
|
|
|
|
|
|
<P>
|
|
|
|
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.)
|
|
<P>
|
|
|
|
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.
|
|
<A NAME="lbAM"> </A>
|
|
<H3>Hot plug support for SCSI tape drives</H3>
|
|
|
|
Hot plugging of SCSI tape drives is supported, with some caveats.
|
|
The
|
|
<B>cciss</B>
|
|
|
|
driver must be informed that changes to the SCSI bus
|
|
have been made.
|
|
This may be done via the
|
|
<I>/proc</I>
|
|
|
|
filesystem.
|
|
For example:
|
|
<P>
|
|
|
|
<BR> echo "rescan" > /proc/scsi/cciss0/1
|
|
<P>
|
|
|
|
This causes the driver to:
|
|
<DL COMPACT><DT id="11"><DD>
|
|
<DL COMPACT>
|
|
<DT id="12">1.<DD>
|
|
query the adapter about changes to the
|
|
physical SCSI buses and/or fibre channel arbitrated loop, and
|
|
<DT id="13">2.<DD>
|
|
make note of any new or removed sequential access devices
|
|
or medium changers.
|
|
</DL>
|
|
</DL>
|
|
|
|
<P>
|
|
|
|
The driver will output messages indicating which
|
|
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.
|
|
<P>
|
|
|
|
Note that the naming convention of the
|
|
<I>/proc</I>
|
|
|
|
filesystem entries
|
|
contains a number in addition to the driver name
|
|
(e.g., "cciss0"
|
|
instead of just "cciss", which you might expect).
|
|
<P>
|
|
|
|
Note:
|
|
<I>Only</I>
|
|
|
|
sequential access devices and medium changers are presented
|
|
as SCSI devices to the SCSI midlayer by the
|
|
<B>cciss</B>
|
|
|
|
driver.
|
|
Specifically, physical SCSI disk drives are
|
|
<I>not</I>
|
|
|
|
presented to the SCSI midlayer.
|
|
The only disk devices that are presented to the kernel are logical
|
|
drives that the array controller constructs from regions on
|
|
the physical drives.
|
|
The logical drives are presented to the block layer
|
|
(not to the SCSI midlayer).
|
|
It is important for the driver to prevent the kernel from accessing the
|
|
physical drives directly, since these drives are used by the array
|
|
controller to construct the logical drives.
|
|
<A NAME="lbAN"> </A>
|
|
<H3>SCSI error handling for tape drives and medium changers</H3>
|
|
|
|
The Linux SCSI midlayer provides an error-handling protocol that
|
|
is initiated whenever a SCSI command fails to complete within a
|
|
certain amount of time (which can vary depending on the command).
|
|
The
|
|
<B>cciss</B>
|
|
|
|
driver participates in this protocol to some extent.
|
|
The normal protocol is a four-step process:
|
|
<DL COMPACT>
|
|
<DT id="14">*<DD>
|
|
First, the device is told to abort the command.
|
|
<DT id="15">*<DD>
|
|
If that doesn't work, the device is reset.
|
|
<DT id="16">*<DD>
|
|
If that doesn't work, the SCSI bus is reset.
|
|
<DT id="17">*<DD>
|
|
If that doesn't work, the host bus adapter is reset.
|
|
</DL>
|
|
<P>
|
|
|
|
The
|
|
<B>cciss</B>
|
|
|
|
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.
|
|
Furthermore, unlike more
|
|
straightforward SCSI drivers, disk I/O continues through the block
|
|
side during the SCSI error-recovery process.
|
|
Therefore, the
|
|
<B>cciss</B>
|
|
|
|
driver implements only the first two of these actions,
|
|
aborting the command, and resetting the device.
|
|
Note also that most tape drives will not oblige
|
|
in aborting commands, and sometimes it appears they will not even
|
|
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.
|
|
<P>
|
|
|
|
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
|
|
is issued that positions the tape to a known position.
|
|
Typically you must rewind the tape (by issuing
|
|
<I>mt -f /dev/st0 rewind</I>
|
|
|
|
for example) before I/O can proceed again to a tape drive that was reset.
|
|
<A NAME="lbAO"> </A>
|
|
<H2>SEE ALSO</H2>
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?4+hpsa">hpsa</A></B>(4),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+cciss_vol_status">cciss_vol_status</A></B>(8),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+hpacucli">hpacucli</A></B>(8),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+hpacuxe">hpacuxe</A></B>(8)
|
|
|
|
<P>
|
|
|
|
|
|
|
|
and
|
|
<I>Documentation/blockdev/cciss.txt</I>
|
|
|
|
and
|
|
<I>Documentation/ABI/testing/sysfs-bus-pci-devices-cciss</I>
|
|
|
|
in the Linux kernel source tree
|
|
|
|
|
|
|
|
|
|
<A NAME="lbAP"> </A>
|
|
<H2>COLOPHON</H2>
|
|
|
|
This page is part of release 5.05 of the Linux
|
|
<I>man-pages</I>
|
|
|
|
project.
|
|
A description of the project,
|
|
information about reporting bugs,
|
|
and the latest version of this page,
|
|
can be found at
|
|
<A HREF="https://www.kernel.org/doc/man-pages/.">https://www.kernel.org/doc/man-pages/.</A>
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="18"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="19"><A HREF="#lbAC">SYNOPSIS</A><DD>
|
|
<DT id="20"><A HREF="#lbAD">DESCRIPTION</A><DD>
|
|
<DL>
|
|
<DT id="21"><A HREF="#lbAE">Options</A><DD>
|
|
<DT id="22"><A HREF="#lbAF">Supported hardware</A><DD>
|
|
<DT id="23"><A HREF="#lbAG">Configuration details</A><DD>
|
|
</DL>
|
|
<DT id="24"><A HREF="#lbAH">FILES</A><DD>
|
|
<DL>
|
|
<DT id="25"><A HREF="#lbAI">Device nodes</A><DD>
|
|
<DT id="26"><A HREF="#lbAJ">Files in /proc</A><DD>
|
|
<DT id="27"><A HREF="#lbAK">Files in /sys</A><DD>
|
|
<DT id="28"><A HREF="#lbAL">SCSI tape drive and medium changer support</A><DD>
|
|
<DT id="29"><A HREF="#lbAM">Hot plug support for SCSI tape drives</A><DD>
|
|
<DT id="30"><A HREF="#lbAN">SCSI error handling for tape drives and medium changers</A><DD>
|
|
</DL>
|
|
<DT id="31"><A HREF="#lbAO">SEE ALSO</A><DD>
|
|
<DT id="32"><A HREF="#lbAP">COLOPHON</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:06:01 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|