Most of the following compile options can be overridden with boot/module parameters and/or runtime configuration (i.e. ioctls).
The following parameters are defined in linux/drivers/scsi/st_options.h
ST_NOWAIT {0} ST_IN_FILE_POS {0} ST_RECOVERED_WRITE_FATAL {0} ST_DEFAULT_BLOCK {0} ST_BUFFER_BLOCKS {32} ST_WRITE_THRESHOLD_BLOCKS {30} ST_MAX_BUFFERS {4} ST_MAX_SG {16} ST_FIRST_SG {8} ST_FIRST_ORDER {5} ST_TWO_FM {0} ST_BUFFER_WRITES {1} ST_ASYNC_WRITES {1} ST_READ_AHEAD {1} ST_AUTO_LOCK {0} ST_FAST_MTEOM {0} ST_SCSI2LOGICAL {0} ST_SYSV {0}
The following parameters are defined in linux/drivers/scsi/st.c
ST_TIMEOUT {900*HZ} ST_LONG_TIMEOUT {14000*HZ}
The Linux tape interface is defined in
/usr/src/linux/include/linux/mtio.h
.
The following ioctl()s are listed in alphabetical order with a brief explanation to the right. [See st documentation (especially man 4 st) for more details.]
MTIOCTOP [execute tape commands and set drive/driver options] MTIOCGET [get the status of the drive] MTIOCPOS [get the current tape location] open() O_RDONLY, O_RDWR close() read() write() ioctl()