1ssd(7D) Devices ssd(7D)
2
3
4
6 ssd - Fibre Channel Arbitrated Loop disk device driver
7
9 ssd@port,target:partition
10
11
13 The ssd driver supports Fibre Channel disk devices.
14
15
16 The specific type of each disk is determined by the SCSI inquiry com‐
17 mand and reading the volume label stored on block 0 of the drive. The
18 volume label describes the disk geometry and partitioning; it must be
19 present or the disk cannot be mounted by the system.
20
21
22 The block-files access the disk using the system's normal buffering
23 mechanism and are read and written without regard to physical disk
24 records. A "raw" interface provides for direct transmission between the
25 disk and the read or write buffer. A single read or write call usually
26 results in one I/O operation; raw I/O is therefore more efficient when
27 many bytes are transmitted. Block file names are found in /dev/dsk; the
28 names of the raw files are found in /dev/rdsk.
29
30
31 I/O requests (such as lseek(2)) to the SCSI disk must have an offset
32 that is a multiple of 512 bytes (DEV_BSIZE), or the driver returns an
33 EINVAL error. If the transfer length is not a multiple of 512 bytes,
34 the transfer count is rounded up by the driver.
35
36
37 Partition 0 is normally used for the root file system on a disk, with
38 partition 1 as a paging area (for example, swap). Partition 2 is used
39 to back up the entire disk. Partition 2 normally maps the entire disk
40 and may also be used as the mount point for secondary disks in the sys‐
41 tem. The rest of the disk is normally partition 6. For the primary
42 disk, the user file system is located here.
43
44
45 The device has associated error statistics. These must include counters
46 for hard errors, soft errors and transport errors. Other data may be
47 implemented as required.
48
50 The device maintains I/O statistics for the device and for partitions
51 allocated for that device. For each device/partition, the driver accu‐
52 mulates reads, writes, bytes read, and bytes written. The driver also
53 initiates hi-resolution time stamps at queue entry and exit points to
54 enable monitoring of residence time and cumulative residence-length
55 product for each queue.
56
57
58 Not all device drivers make per-partition IO statistics available for
59 reporting. ssd and sd(7D) per-partition statistics are enabled by
60 default but may be disabled in their configuration files.
61
63 Refer to dkio(7I).
64
66 EACCES Permission denied.
67
68
69 EBUSY The partition was opened exclusively by another thread.
70
71
72 EFAULT The argument was a bad address.
73
74
75 EINVAL Invalid argument.
76
77
78 EIO An I/O error occurred.
79
80
81 ENOTTY The device does not support the requested ioctl function.
82
83
84 ENXIO When returned during open(2), this error indicates the
85 device does not exist.
86
87
88 EROFS The device is a read-only device.
89
90
92 You configure the ssd driver by defining properties in the ssd.conf
93 file. The ssd driver supports the following properties:
94
95 enable-partition-kstats The default value is 1, which causes parti‐
96 tion IO statistics to be maintained. Set
97 this value to zero to prevent the driver
98 from recording partition statistics. This
99 slightly reduces the CPU overhead for IO,
100 mimimizes the amount of sar(1) data col‐
101 lected and makes these statistics unavail‐
102 able for reporting by iostat(1M) even though
103 the -p/-P option is specified. Regardless
104 of this setting, disk IO statistics are
105 always maintained.
106
107
108
109 In addition to the above properties, some device-specific tunables can
110 be configured in ssd.conf using the 'ssd-config-list' global property.
111 The value of this property is a list of duplets. The formal syntax is:
112
113 ssd-config-list = <duplet> [, <duplet> ]* ;
114
115 where
116
117 <duplet>:= "<vid+pid>" , "<tunable-list>"
118
119 and
120
121 <tunable-list>:= <tunable> [, <tunable> ]*;
122 <tunable> = <name> : <value>
123
124 The <vid+pid> is the string that is returned by the target device
125 on a SCSI inquiry command.
126
127 The <tunable-list> contains one or more tunables to apply to
128 all target devices with the specified <vid+pid>.
129
130 Each <tunable> is a <name> : <value> pair. Supported
131 tunable names are:
132
133 delay-busy: when busy, nsecs of delay before retry.
134
135 retries-timeout: retries to perform on an IO timeout.
136
137
139 The following is an example of a global ssd-config-list property:
140
141 ssd-config-list =
142 "SUN T4", "delay-busy:600, retries-timeout:6",
143 "SUN StorEdge_3510", "retries-timeout:3";
144
145
147 ssd.conf Driver configuration file
148
149
150 /dev/dsk/cntndnsn block files
151
152
153 /dev/rdsk/cntndnsn raw files
154
155
156 cn is the controller number on the system.
157
158
159 tn 7-bit disk loop identifier, such as switch set‐
160 ting
161
162
163 dn SCSI lun n
164
165
166 sn partition n (0-7)
167
168
170 sar(1), format(1M), iostat(1M), ioctl(2), lseek(2), open(2), read(2),
171 write(2), scsi(4)driver.conf(4), cdio(7I), dkio(7I)
172
173
174 ANSI Small Computer System Interface-2 (SCSI-2)
175
176
177 ANSI X3.272-1996, Fibre Channel Arbitrated Loop (FC-AL)
178
179
180 Fibre Channel - Private Loop SCSI Direct Attach (FC-PLDA)
181
183 Error for command '<command name>' Error Level: Fatal Requested Block <n>,
184 Error Block: <m>, Sense Key: <sense key name>, Vendor '<vendor name>':
185 ASC = 0x<a> (<ASC name>), ASCQ = 0x<b>, FRU = 0x<c>
186
187
188
189
190 The command indicated by <command name> failed. The Requested Block is
191 the block where the transfer started and the Error Block is the block
192 that caused the error. Sense Key, ASC, and ASCQ information is returned
193 by the target in response to a request sense command.
194
195 Check Condition on REQUEST SENSE
196
197
198
199
200 A REQUEST SENSE command completed with a check condition. The original
201 command will be retried a number of times.
202
203 Label says <m> blocks Drive says <n> blocks
204
205
206
207
208 There is a discrepancy between the label and what the drive returned on
209 the READ CAPACITY command.
210
211 Not enough sense information
212
213
214
215
216 The request sense data was less than expected.
217
218 Request Sense couldn't get sense data
219
220
221
222
223 The REQUEST SENSE command did not transfer any data.
224
225 Reservation Conflict
226
227
228
229
230 The drive was reserved by another initiator.
231
232 SCSI transport failed: reason 'xxxx' : {retrying|giving up}
233
234
235
236
237 The host adapter has failed to transport a command to the target for
238 the reason stated. The driver will either retry the command or, ulti‐
239 mately, give up.
240
241 Unhandled Sense Key <n>
242
243
244
245
246 The REQUEST SENSE data included an invalid sense key.
247
248 Unit not Ready. Additional sense code 0x<n>
249
250
251
252
253 The drive is not ready.
254
255 corrupt label - bad geometry
256
257
258
259
260 The disk label is corrupted.
261
262 corrupt label - label checksum failed
263
264
265
266
267 The disk label is corrupted.
268
269 corrupt label - wrong magic number
270
271
272
273
274 The disk label is corrupted.
275
276 device busy too long
277
278
279
280
281 The drive returned busy during a number of retries.
282
283 disk not responding to selection
284
285
286
287
288 The drive was probably powered down or died.
289
290 i/o to invalid geometry
291
292
293
294
295 The geometry of the drive could not be established.
296
297 incomplete read/write - retrying/giving up
298
299
300
301
302 There was a residue after the command completed normally.
303
304 logical unit not ready
305
306
307
308
309 The drive is not ready.
310
311 no bp for disk label
312
313
314
315
316 A bp with consistent memory could not be allocated.
317
318 no mem for property
319
320
321
322
323 Free memory pool exhausted.
324
325 no memory for disk label
326
327
328
329
330 Free memory pool exhausted.
331
332 no resources for dumping
333
334
335
336
337 A packet could not be allocated during dumping.
338
339 offline
340
341
342
343
344 Drive went offline; probably powered down.
345
346 requeue of command fails<n>
347
348
349
350
351 Driver attempted to retry a command and experienced a transport error.
352
353 ssdrestart transport failed <n>
354
355
356
357
358 Driver attempted to retry a command and experienced a transport error.
359
360 transfer length not modulo <n>
361
362
363
364
365 Illegal request size.
366
367 transport rejected <n>
368
369
370
371
372 Host adapter driver was unable to accept a command.
373
374 unable to read label
375
376
377
378
379 Failure to read disk label.
380
381 unit does not respond to selection
382
383
384
385
386 Drive went offline; probably powered down.
387
388
389
390SunOS 5.11 9 Aug 2008 ssd(7D)