Sorry for the slow reply, I've been on vacation this past week. What do you suggest? Whatever most of the other man pages use is probably fine, though I will have to check with management at HP to see what the lawyers insist upon, but it would be good if I had something that is commonly used to suggest to them. -- steve On Fri, Sep 9, 2011 at 9:38 AM, Michael Kerrisk <mtk.manpages@xxxxxxxxx> wrote: > Stephen, > > On Fri, Aug 12, 2011 at 4:23 PM, Stephen M. Cameron > <scameron@xxxxxxxxxxxxxxxxxx> wrote: >> From: Stephen M. Cameron <scameron@xxxxxxxxxxxxxxxxxx> >> >> This patch applied to man-pages-3.32. >> >> I obtained the information in this man page as a consequence >> of having worked on the cciss driver for the past several years, >> and having written considerable portions of it. > > Thanks for the page. I've added it for the upcoming 3.33 release. But > what license and copyright do you want to assign to the page? (See > http://man7.org/linux/man-pages/licenses.html) > > Cheers, > > Michael > > >> Signed-off-by: Stephen M. Cameron <scameron@xxxxxxxxxxxxxxxxxx> >> --- >> man4/cciss.4 | 291 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> 1 files changed, 291 insertions(+), 0 deletions(-) >> create mode 100644 man4/cciss.4 >> >> diff --git a/man4/cciss.4 b/man4/cciss.4 >> new file mode 100644 >> index 0000000..4f61570 >> --- /dev/null >> +++ b/man4/cciss.4 >> @@ -0,0 +1,291 @@ >> +.\" shorthand for double quote that works everywhere. >> +.ds q \N'34' >> +.TH CCISS 4 "cciss" >> +.SH NAME >> +cciss \- HP Smart Array block driver >> +.SH SYNOPSIS >> +.nf >> +modprobe cciss [ cciss_allow_hpsa=1 ] >> +.fi >> +.SH DESCRIPTION >> +.B cciss >> +is a block driver for older HP Smart Array RAID controllers. >> +.SH OPTIONS >> +.HP >> +cciss_allow_hpsa=1 >> +This option prevents the cciss driver >> +from attempting to drive any controllers which the hpsa driver >> +is capable of controlling, which is to say, the cciss driver >> +is restricted by this option to the following controllers: >> +.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 >> + >> + >> +.SH SUPPORTED HARDWARE >> +The >> +.B cciss >> +driver supports the following Smart Array boards: >> +.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 >> +.SH CONFIGURATION DETAILS >> +To configure HP Smart Array controllers, use the HP Array Configuration Utility >> +(either hpacuxe or hpacucli) 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: >> +.nf >> +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 >> + >> +.fi >> +.SS FILES IN /proc >> +The files /proc/driver/cciss/cciss[0-9]+ contain information about >> +the configuration of each controller. For example: >> +.nf >> + >> + someone@somehost:/proc/driver/cciss> ls -l >> + 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 >> + someone@somehost:/proc/driver/cciss> cat cciss2 >> + 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 >> + someone@somehost:/proc/driver/cciss> >> + >> +.fi >> +.SS FILES IN /sys >> + >> +.HP >> +/sys/bus/pci/devices/<dev>/ccissX/cXdY/model >> + >> +Displays the SCSI INQUIRY page 0 model for logical drive Y of controller X. >> + >> +.HP >> +/sys/bus/pci/devices/<dev>/ccissX/cXdY/rev >> + >> +Displays the SCSI INQUIRY page 0 revision for logical drive Y of controller X. >> + >> +.HP >> +/sys/bus/pci/devices/<dev>/ccissX/cXdY/unique_id >> + >> +Displays the SCSI INQUIRY page 83 serial number for logical drive Y of controller X. >> + >> +.HP >> +/sys/bus/pci/devices/<dev>/ccissX/cXdY/vendor >> + >> +Displays the SCSI INQUIRY page 0 vendor for logical drive Y of controller X. >> + >> +.HP >> +/sys/bus/pci/devices/<dev>/ccissX/cXdY/block:cciss!cXdY >> + >> +A symbolic link to /sys/block/cciss!cXdY >> + >> +.HP >> +/sys/bus/pci/devices/<dev>/ccissX/rescan >> + >> +Kicks off a rescan of the controller to discover logical drive topology changes. >> + >> +.HP >> +/sys/bus/pci/devices/<dev>/ccissX/resettable >> + >> +A value of 1 indicates the "reset_devices=1" kernel parameter (used by >> +kdump) is honored by this controller. A value of 0 indicates the >> +"reset_devices=1" kernel parameter will not be honored. Some models >> +of Smart Array are not able to honor this parameter. >> + >> +.HP >> +/sys/bus/pci/devices/<dev>/ccissX/cXdY/lunid >> + >> +Displays the 8-byte LUN ID used to address logical drive Y of controller X. >> + >> +.HP >> +/sys/bus/pci/devices/<dev>/ccissX/cXdY/raid_level >> + >> +Displays the RAID level of logical drive Y of controller X. >> + >> +.HP >> +/sys/bus/pci/devices/<dev>/ccissX/cXdY/usage_count >> + >> +Displays the usage count (number of opens) of logical drive Y of controller X. >> + >> +.SH 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. >> +/dev/st0, /dev/st1, etc. See the "st" man page 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. >> + >> +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 filesystem entry which the "block" side of the driver creates as >> +/proc/driver/cciss/cciss* at runtime. 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 /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 >> +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.) >> + >> +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 cciss driver must be informed that changes to the SCSI bus >> +have been made. This may be done via the /proc filesystem. >> +For example: >> + >> + echo "rescan" > /proc/scsi/cciss0/1 >> + >> +This causes the driver to query the adapter about changes to the >> +physical SCSI buses and/or fibre channel arbitrated loop and the >> +driver to make note of any new or removed sequential access devices >> +or medium changers. The driver will output messages indicating what >> +devices have been added or removed and the controller, bus, target and >> +lun used to address the device. It then notifies the SCSI mid layer >> +of these changes. >> + >> +Note that the naming convention of the /proc filesystem entries >> +contains a number in addition to the driver name. (E.g. "cciss0" >> +instead of just "cciss" which you might expect.) >> + >> +Note: ONLY sequential access devices and medium changers are presented >> +as SCSI devices to the SCSI mid layer by the cciss driver. Specifically, >> +physical SCSI disk drives are NOT presented to the SCSI mid layer. The >> +physical SCSI disk drives are controlled directly by the array controller >> +hardware and it is important to prevent the kernel from attempting to directly >> +access these devices too, as if the array controller were merely a SCSI >> +controller in the same way that we are allowing it to access SCSI tape drives. >> + >> +.SS SCSI error handling for tape drives and medium changers >> + >> +The linux SCSI mid layer provides an error handling protocol which >> +kicks into gear whenever a SCSI command fails to complete within a >> +certain amount of time (which can vary depending on the command). >> +The cciss driver participates in this protocol to some extent. The >> +normal protocol is a four step process. First the device is told >> +to abort the command. If that doesn't work, the device is reset. >> +If that doesn't work, the SCSI bus is reset. If that doesn't work >> +the host bus adapter is reset. Because the 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 mid layer, and unlike more >> +straightforward SCSI drivers, disk i/o continues through the block >> +side during the SCSI error recovery process, the cciss driver only >> +implements the first two of these actions, aborting the command, and >> +resetting the device. Additionally, 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. In >> +the case that the command cannot be aborted and the device cannot be >> +reset, the device will be set offline. >> + >> +In the event 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 which positions the tape to a known position. Typically you >> +must rewind the tape (by issuing "mt -f /dev/st0 rewind" for example) >> +before i/o can proceed again to a tape drive which was reset. >> + >> +.SH "SEE ALSO" >> +hpsa(4), hpacucli(8), hpacuxe(8), cciss_vol_status(8), http://cciss.sf.net, >> +and from the linux kernel source, Documentation/blockdev/cciss.txt and >> +Documentation/ABI/testing/sysfs-bus-pci-devices-cciss >> +.SH AUTHORS >> +Don Brace, Steve Cameron, Chase Maupin, Mike Miller, Michael Ni, Charles White, Francis Wiran >> +and probably some other people. >> + >> + >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-man" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> > > > > -- > Michael Kerrisk > Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ > Author of "The Linux Programming Interface"; http://man7.org/tlpi/ > -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html