Root/
1 | /* |
2 | The compile-time configurable defaults for the Linux SCSI tape driver. |
3 | |
4 | Copyright 1995 Kai Makisara. |
5 | |
6 | Last modified: Wed Sep 2 21:24:07 1998 by root@home |
7 | |
8 | Changed (and renamed) for OnStream SCSI drives garloff@suse.de |
9 | 2000-06-21 |
10 | |
11 | $Header: /cvsroot/osst/Driver/osst_options.h,v 1.6 2003/12/23 14:22:12 wriede Exp $ |
12 | */ |
13 | |
14 | #ifndef _OSST_OPTIONS_H |
15 | #define _OSST_OPTIONS_H |
16 | |
17 | /* The minimum limit for the number of SCSI tape devices is determined by |
18 | OSST_MAX_TAPES. If the number of tape devices and the "slack" defined by |
19 | OSST_EXTRA_DEVS exceeds OSST_MAX_TAPES, the large number is used. */ |
20 | #define OSST_MAX_TAPES 4 |
21 | |
22 | /* If OSST_IN_FILE_POS is nonzero, the driver positions the tape after the |
23 | record been read by the user program even if the tape has moved further |
24 | because of buffered reads. Should be set to zero to support also drives |
25 | that can't space backwards over records. NOTE: The tape will be |
26 | spaced backwards over an "accidentally" crossed filemark in any case. */ |
27 | #define OSST_IN_FILE_POS 1 |
28 | |
29 | /* The tape driver buffer size in kilobytes. */ |
30 | /* Don't change, as this is the HW blocksize */ |
31 | #define OSST_BUFFER_BLOCKS 32 |
32 | |
33 | /* The number of kilobytes of data in the buffer that triggers an |
34 | asynchronous write in fixed block mode. See also OSST_ASYNC_WRITES |
35 | below. */ |
36 | #define OSST_WRITE_THRESHOLD_BLOCKS 32 |
37 | |
38 | /* OSST_EOM_RESERVE defines the number of frames are kept in reserve for |
39 | * * write error recovery when writing near end of medium. ENOSPC is returned |
40 | * * when write() is called and the tape write position is within this number |
41 | * * of blocks from the tape capacity. */ |
42 | #define OSST_EOM_RESERVE 300 |
43 | |
44 | /* The maximum number of tape buffers the driver allocates. The number |
45 | is also constrained by the number of drives detected. Determines the |
46 | maximum number of concurrently active tape drives. */ |
47 | #define OSST_MAX_BUFFERS OSST_MAX_TAPES |
48 | |
49 | /* Maximum number of scatter/gather segments */ |
50 | /* Fit one buffer in pages and add one for the AUX header */ |
51 | #define OSST_MAX_SG (((OSST_BUFFER_BLOCKS*1024) / PAGE_SIZE) + 1) |
52 | |
53 | /* The number of scatter/gather segments to allocate at first try (must be |
54 | smaller or equal to the maximum). */ |
55 | #define OSST_FIRST_SG ((OSST_BUFFER_BLOCKS*1024) / PAGE_SIZE) |
56 | |
57 | /* The size of the first scatter/gather segments (determines the maximum block |
58 | size for SCSI adapters not supporting scatter/gather). The default is set |
59 | to try to allocate the buffer as one chunk. */ |
60 | #define OSST_FIRST_ORDER (15-PAGE_SHIFT) |
61 | |
62 | |
63 | /* The following lines define defaults for properties that can be set |
64 | separately for each drive using the MTSTOPTIONS ioctl. */ |
65 | |
66 | /* If OSST_TWO_FM is non-zero, the driver writes two filemarks after a |
67 | file being written. Some drives can't handle two filemarks at the |
68 | end of data. */ |
69 | #define OSST_TWO_FM 0 |
70 | |
71 | /* If OSST_BUFFER_WRITES is non-zero, writes in fixed block mode are |
72 | buffered until the driver buffer is full or asynchronous write is |
73 | triggered. */ |
74 | #define OSST_BUFFER_WRITES 1 |
75 | |
76 | /* If OSST_ASYNC_WRITES is non-zero, the SCSI write command may be started |
77 | without waiting for it to finish. May cause problems in multiple |
78 | tape backups. */ |
79 | #define OSST_ASYNC_WRITES 1 |
80 | |
81 | /* If OSST_READ_AHEAD is non-zero, blocks are read ahead in fixed block |
82 | mode. */ |
83 | #define OSST_READ_AHEAD 1 |
84 | |
85 | /* If OSST_AUTO_LOCK is non-zero, the drive door is locked at the first |
86 | read or write command after the device is opened. The door is opened |
87 | when the device is closed. */ |
88 | #define OSST_AUTO_LOCK 0 |
89 | |
90 | /* If OSST_FAST_MTEOM is non-zero, the MTEOM ioctl is done using the |
91 | direct SCSI command. The file number status is lost but this method |
92 | is fast with some drives. Otherwise MTEOM is done by spacing over |
93 | files and the file number status is retained. */ |
94 | #define OSST_FAST_MTEOM 0 |
95 | |
96 | /* If OSST_SCSI2LOGICAL is nonzero, the logical block addresses are used for |
97 | MTIOCPOS and MTSEEK by default. Vendor addresses are used if OSST_SCSI2LOGICAL |
98 | is zero. */ |
99 | #define OSST_SCSI2LOGICAL 0 |
100 | |
101 | /* If OSST_SYSV is non-zero, the tape behaves according to the SYS V semantics. |
102 | The default is BSD semantics. */ |
103 | #define OSST_SYSV 0 |
104 | |
105 | |
106 | #endif |
107 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9