Re: [PATCH] Add man page for the cciss driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Steve,

Any progress with the license?

Cheers,

Michael


On Sun, Sep 11, 2011 at 4:27 PM, Michael Kerrisk <mtk.manpages@xxxxxxxxx> wrote:
> Hello Steve,
>
> On Sat, Sep 10, 2011 at 11:22 PM, Stephen Cameron
> <stephenmcameron@xxxxxxxxx> wrote:
>> 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.
>
> The "verbatim license" at
> http://man7.org/linux/man-pages/licenses.html is the most common, and
> my preference, but any free license (other than GFDL, because that
> makes the page unacceptable to Debian) is acceptable.
>
> Cheers,
>
> Michael
>
>
>> 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/
>>>
>>
>
>
>
> --
> Michael Kerrisk
> Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
> Author of "The Linux Programming Interface"; http://man7.org/tlpi/
>



-- 
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


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux