diff options
Diffstat (limited to 'drivers/scsi/osst_options.h')
-rw-r--r-- | drivers/scsi/osst_options.h | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/drivers/scsi/osst_options.h b/drivers/scsi/osst_options.h new file mode 100644 index 000000000000..ff1e610946ed --- /dev/null +++ b/drivers/scsi/osst_options.h | |||
@@ -0,0 +1,106 @@ | |||
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 | ||