diff options
Diffstat (limited to 'Documentation/cciss.txt')
-rw-r--r-- | Documentation/cciss.txt | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/Documentation/cciss.txt b/Documentation/cciss.txt new file mode 100644 index 000000000000..d599beb9df8a --- /dev/null +++ b/Documentation/cciss.txt | |||
@@ -0,0 +1,132 @@ | |||
1 | This driver is for Compaq's SMART Array Controllers. | ||
2 | |||
3 | Supported Cards: | ||
4 | ---------------- | ||
5 | |||
6 | This driver is known to work with the following cards: | ||
7 | |||
8 | * SA 5300 | ||
9 | * SA 5i | ||
10 | * SA 532 | ||
11 | * SA 5312 | ||
12 | * SA 641 | ||
13 | * SA 642 | ||
14 | * SA 6400 | ||
15 | * SA 6400 U320 Expansion Module | ||
16 | * SA 6i | ||
17 | * SA P600 | ||
18 | * SA P800 | ||
19 | * SA E400 | ||
20 | |||
21 | If nodes are not already created in the /dev/cciss directory, run as root: | ||
22 | |||
23 | # cd /dev | ||
24 | # ./MAKEDEV cciss | ||
25 | |||
26 | Device Naming: | ||
27 | -------------- | ||
28 | |||
29 | You need some entries in /dev for the cciss device. The MAKEDEV script | ||
30 | can make device nodes for you automatically. Currently the device setup | ||
31 | is as follows: | ||
32 | |||
33 | Major numbers: | ||
34 | 104 cciss0 | ||
35 | 105 cciss1 | ||
36 | 106 cciss2 | ||
37 | 105 cciss3 | ||
38 | 108 cciss4 | ||
39 | 109 cciss5 | ||
40 | 110 cciss6 | ||
41 | 111 cciss7 | ||
42 | |||
43 | Minor numbers: | ||
44 | b7 b6 b5 b4 b3 b2 b1 b0 | ||
45 | |----+----| |----+----| | ||
46 | | | | ||
47 | | +-------- Partition ID (0=wholedev, 1-15 partition) | ||
48 | | | ||
49 | +-------------------- Logical Volume number | ||
50 | |||
51 | The device naming scheme is: | ||
52 | /dev/cciss/c0d0 Controller 0, disk 0, whole device | ||
53 | /dev/cciss/c0d0p1 Controller 0, disk 0, partition 1 | ||
54 | /dev/cciss/c0d0p2 Controller 0, disk 0, partition 2 | ||
55 | /dev/cciss/c0d0p3 Controller 0, disk 0, partition 3 | ||
56 | |||
57 | /dev/cciss/c1d1 Controller 1, disk 1, whole device | ||
58 | /dev/cciss/c1d1p1 Controller 1, disk 1, partition 1 | ||
59 | /dev/cciss/c1d1p2 Controller 1, disk 1, partition 2 | ||
60 | /dev/cciss/c1d1p3 Controller 1, disk 1, partition 3 | ||
61 | |||
62 | SCSI tape drive and medium changer support | ||
63 | ------------------------------------------ | ||
64 | |||
65 | SCSI sequential access devices and medium changer devices are supported and | ||
66 | appropriate device nodes are automatically created. (e.g. | ||
67 | /dev/st0, /dev/st1, etc. See the "st" man page for more details.) | ||
68 | You must enable "SCSI tape drive support for Smart Array 5xxx" and | ||
69 | "SCSI support" in your kernel configuration to be able to use SCSI | ||
70 | tape drives with your Smart Array 5xxx controller. | ||
71 | |||
72 | Additionally, note that the driver will not engage the SCSI core at init | ||
73 | time. The driver must be directed to dynamically engage the SCSI core via | ||
74 | the /proc filesystem entry which the "block" side of the driver creates as | ||
75 | /proc/driver/cciss/cciss* at runtime. This is because at driver init time, | ||
76 | the SCSI core may not yet be initialized (because the driver is a block | ||
77 | driver) and attempting to register it with the SCSI core in such a case | ||
78 | would cause a hang. This is best done via an initialization script | ||
79 | (typically in /etc/init.d, but could vary depending on distibution). | ||
80 | For example: | ||
81 | |||
82 | for x in /proc/driver/cciss/cciss[0-9]* | ||
83 | do | ||
84 | echo "engage scsi" > $x | ||
85 | done | ||
86 | |||
87 | Once the SCSI core is engaged by the driver, it cannot be disengaged | ||
88 | (except by unloading the driver, if it happens to be linked as a module.) | ||
89 | |||
90 | Note also that if no sequential access devices or medium changers are | ||
91 | detected, the SCSI core will not be engaged by the action of the above | ||
92 | script. | ||
93 | |||
94 | Hot plug support for SCSI tape drives | ||
95 | ------------------------------------- | ||
96 | |||
97 | Hot plugging of SCSI tape drives is supported, with some caveats. | ||
98 | The cciss driver must be informed that changes to the SCSI bus | ||
99 | have been made, in addition to and prior to informing the SCSI | ||
100 | mid layer. This may be done via the /proc filesystem. For example: | ||
101 | |||
102 | echo "rescan" > /proc/scsi/cciss0/1 | ||
103 | |||
104 | This causes the adapter to query the adapter about changes to the | ||
105 | physical SCSI buses and/or fibre channel arbitrated loop and the | ||
106 | driver to make note of any new or removed sequential access devices | ||
107 | or medium changers. The driver will output messages indicating what | ||
108 | devices have been added or removed and the controller, bus, target and | ||
109 | lun used to address the device. Once this is done, the SCSI mid layer | ||
110 | can be informed of changes to the virtual SCSI bus which the driver | ||
111 | presents to it in the usual way. For example: | ||
112 | |||
113 | echo scsi add-single-device 3 2 1 0 > /proc/scsi/scsi | ||
114 | |||
115 | to add a device on controller 3, bus 2, target 1, lun 0. Note that | ||
116 | the driver makes an effort to preserve the devices positions | ||
117 | in the virtual SCSI bus, so if you are only moving tape drives | ||
118 | around on the same adapter and not adding or removing tape drives | ||
119 | from the adapter, informing the SCSI mid layer may not be necessary. | ||
120 | |||
121 | Note that the naming convention of the /proc filesystem entries | ||
122 | contains a number in addition to the driver name. (E.g. "cciss0" | ||
123 | instead of just "cciss" which you might expect.) | ||
124 | |||
125 | Note: ONLY sequential access devices and medium changers are presented | ||
126 | as SCSI devices to the SCSI mid layer by the cciss driver. Specifically, | ||
127 | physical SCSI disk drives are NOT presented to the SCSI mid layer. The | ||
128 | physical SCSI disk drives are controlled directly by the array controller | ||
129 | hardware and it is important to prevent the kernel from attempting to directly | ||
130 | access these devices too, as if the array controller were merely a SCSI | ||
131 | controller in the same way that we are allowing it to access SCSI tape drives. | ||
132 | |||