summaryrefslogtreecommitdiffstats
path: root/man/man4/cciss.4
diff options
context:
space:
mode:
Diffstat (limited to 'man/man4/cciss.4')
-rw-r--r--man/man4/cciss.4385
1 files changed, 385 insertions, 0 deletions
diff --git a/man/man4/cciss.4 b/man/man4/cciss.4
new file mode 100644
index 000000000..a3fadb5d1
--- /dev/null
+++ b/man/man4/cciss.4
@@ -0,0 +1,385 @@
+'\" t
+.\" Copyright (C) 2011, Hewlett-Packard Development Company, L.P.
+.\" Written by Stephen M. Cameron <scameron@beardog.cce.hp.com>
+.\"
+.\" SPDX-License-Identifier: GPL-2.0-only
+.\"
+.\" shorthand for double quote that works everywhere.
+.ds q \N'34'
+.TH cciss 4 (date) "Linux man-pages (unreleased)"
+.SH NAME
+cciss \- HP Smart Array block driver
+.SH SYNOPSIS
+.nf
+modprobe cciss [ cciss_allow_hpsa=1 ]
+.fi
+.SH DESCRIPTION
+.\" commit 253d2464df446456c0bba5ed4137a7be0b278aa8
+.BR Note :
+This obsolete driver was removed in Linux 4.14,
+as it is superseded by the
+.BR hpsa (4)
+driver in newer kernels.
+.P
+.B cciss
+is a block driver for older HP Smart Array RAID controllers.
+.SS Options
+.IR "cciss_allow_hpsa=1" :
+This option prevents the
+.B cciss
+driver from attempting to drive any controllers that the
+.BR hpsa (4)
+driver is capable of controlling, which is to say, the
+.B cciss
+driver is restricted by this option to the following controllers:
+.P
+.nf
+ 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
+.fi
+.SS Supported hardware
+The
+.B cciss
+driver supports the following Smart Array boards:
+.P
+.nf
+ 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
+.fi
+.SS Configuration details
+To configure HP Smart Array controllers,
+use the HP Array Configuration Utility
+(either
+.BR hpacuxe (8)
+or
+.BR hpacucli (8))
+or the Offline ROM-based Configuration Utility (ORCA)
+run from the Smart Array's option ROM at boot time.
+.SH FILES
+.SS Device nodes
+The device naming scheme is as follows:
+.P
+Major numbers:
+.IP
+.TS
+r r.
+104 cciss0
+105 cciss1
+106 cciss2
+105 cciss3
+108 cciss4
+109 cciss5
+110 cciss6
+111 cciss7
+.TE
+.P
+Minor numbers:
+.P
+.EX
+ b7 b6 b5 b4 b3 b2 b1 b0
+ |\-\-\-\-+\-\-\-\-| |\-\-\-\-+\-\-\-\-|
+ | |
+ | +\-\-\-\-\-\-\-\- Partition ID (0=wholedev, 1\-15 partition)
+ |
+ +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Logical Volume number
+.EE
+.P
+The device naming scheme is:
+.TS
+li l.
+/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
+.TE
+.SS Files in /proc
+The files
+.I /proc/driver/cciss/cciss[0\-9]+
+contain information about
+the configuration of each controller.
+For example:
+.P
+.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
+.EE
+.in
+.\"
+.SS Files in /sys
+.TP
+.IR /sys/bus/pci/devices/ dev /cciss X /c X d Y /model
+Displays the SCSI INQUIRY page 0 model for logical drive
+.I Y
+of controller
+.IR X .
+.TP
+.IR /sys/bus/pci/devices/ dev /cciss X /c X d Y /rev
+Displays the SCSI INQUIRY page 0 revision for logical drive
+.I Y
+of controller
+.IR X .
+.TP
+.IR /sys/bus/pci/devices/ dev /cciss X /c X d Y /unique_id
+Displays the SCSI INQUIRY page 83 serial number for logical drive
+.I Y
+of controller
+.IR X .
+.TP
+.IR /sys/bus/pci/devices/ dev /cciss X /c X d Y /vendor
+Displays the SCSI INQUIRY page 0 vendor for logical drive
+.I Y
+of controller
+.IR X .
+.TP
+.IR /sys/bus/pci/devices/ dev /cciss X /c X d Y /block:cciss!c X d Y
+A symbolic link to
+.IR /sys/block/cciss!c X d Y.
+.TP
+.IR /sys/bus/pci/devices/ dev /cciss X /rescan
+When this file is written to, the driver rescans the controller
+to discover any new, removed, or modified logical drives.
+.TP
+.IR /sys/bus/pci/devices/ dev /cciss X /resettable
+A value of 1 displayed in this file indicates that
+the "reset_devices=1" kernel parameter (used by
+.BR kdump )
+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.
+.TP
+.IR /sys/bus/pci/devices/ dev /cciss X /c X d Y /lunid
+Displays the 8-byte LUN ID used to address logical drive
+.I Y
+of controller
+.IR X .
+.TP
+.IR /sys/bus/pci/devices/ dev /cciss X /c X d Y /raid_level
+Displays the RAID level of logical drive
+.I Y
+of controller
+.IR X .
+.TP
+.IR /sys/bus/pci/devices/ dev /cciss X /c X d Y /usage_count
+Displays the usage count (number of opens) of logical drive
+.I Y
+of controller
+.IR X .
+.SS SCSI tape drive and medium changer support
+SCSI sequential access devices and medium changer devices are supported and
+appropriate device nodes are automatically created (e.g.,
+.IR /dev/st0 ,
+.IR /dev/st1 ,
+etc.; see
+.BR st (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
+filesystem entry,
+which the "block" side of the driver creates as
+.I /proc/driver/cciss/cciss*
+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
+.IR /etc/init.d ,
+but could vary depending on distribution).
+For example:
+.P
+.in +4n
+.EX
+for x in /proc/driver/cciss/cciss[0\-9]*
+do
+ echo "engage scsi" > $x
+done
+.EE
+.in
+.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.
+.SS Hot plug support for SCSI tape drives
+Hot plugging of SCSI tape drives is supported, with some caveats.
+The
+.B cciss
+driver must be informed that changes to the SCSI bus
+have been made.
+This may be done via the
+.I /proc
+filesystem.
+For example:
+.IP
+echo "rescan" > /proc/scsi/cciss0/1
+.P
+This causes the driver to:
+.RS
+.IP (1) 5
+query the adapter about changes to the
+physical SCSI buses and/or fiber channel arbitrated loop, and
+.IP (2)
+make note of any new or removed sequential access devices
+or medium changers.
+.RE
+.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
+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
+sequential access devices and medium changers are presented
+as SCSI devices to the SCSI midlayer by the
+.B cciss
+driver.
+Specifically, physical SCSI disk drives are
+.I not
+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.
+.SS SCSI error handling for tape drives and medium changers
+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
+driver participates in this protocol to some extent.
+The normal protocol is a four-step process:
+.IP (1) 5
+First, the device is told to abort the command.
+.IP (2)
+If that doesn't work, the device is reset.
+.IP (3)
+If that doesn't work, the SCSI bus is reset.
+.IP (4)
+If that doesn't work, the host bus adapter is reset.
+.P
+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.
+Furthermore, unlike more
+straightforward SCSI drivers, disk I/O continues through the block
+side during the SCSI error-recovery process.
+Therefore, the
+.B cciss
+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"
+for example) before I/O can proceed again to a tape drive that was reset.
+.SH SEE ALSO
+.BR hpsa (4),
+.BR cciss_vol_status (8),
+.BR hpacucli (8),
+.BR hpacuxe (8)
+.P
+.UR http://cciss.sf.net
+.UE ,
+and
+.I Documentation/blockdev/cciss.txt
+and
+.I Documentation/ABI/testing/sysfs\-bus\-pci\-devices\-cciss
+in the Linux kernel source tree
+.\" .SH AUTHORS
+.\" Don Brace, Steve Cameron, Chase Maupin, Mike Miller, Michael Ni,
+.\" Charles White, Francis Wiran
+.\" and probably some other people.