Commit 6b38193b authored by Kai Mäkisara's avatar Kai Mäkisara Committed by Linus Torvalds

[PATCH] SCSI tape EOT write fixes

This contains the following changes:
 - EOT detection fixed when writing in fixed block mode
 - asynchronous writes in fixed block mode and write threshold removed
   to enable the EOT fixes (the parameter accepted for compatibility)
parent 69ca9ecd
This file contains brief information about the SCSI tape driver. This file contains brief information about the SCSI tape driver.
The driver is currently maintained by Kai Mäkisara (email The driver is currently maintained by Kai Mäkisara (email
Kai.Makisara@metla.fi) Kai.Makisara@kolumbus.fi)
Last modified: Sat Dec 14 14:35:30 2002 by makisara Last modified: Sun Apr 6 22:44:13 2003 by makisara
BASICS BASICS
...@@ -132,7 +132,7 @@ minimum allowable buffer size. ...@@ -132,7 +132,7 @@ minimum allowable buffer size.
Asynchronous writing. Writing the buffer contents to the tape is Asynchronous writing. Writing the buffer contents to the tape is
started and the write call returns immediately. The status is checked started and the write call returns immediately. The status is checked
at the next tape operation. Asynchronous writes are not done with at the next tape operation. Asynchronous writes are not done with
direct i/o. direct i/o and not in fixed block mode.
Buffered writes and asynchronous writes may in some rare cases cause Buffered writes and asynchronous writes may in some rare cases cause
problems in multivolume operations if there is not enough space on the problems in multivolume operations if there is not enough space on the
...@@ -143,11 +143,6 @@ attempted even if the user does not want to get all of the data at ...@@ -143,11 +143,6 @@ attempted even if the user does not want to get all of the data at
this read command. Should be disabled for those drives that don't like this read command. Should be disabled for those drives that don't like
a filemark to truncate a read request or that don't like backspacing. a filemark to truncate a read request or that don't like backspacing.
The threshold for triggering asynchronous write in fixed block mode
is defined by ST_WRITE_THRESHOLD. This may be optimized for each
use pattern. The default triggers asynchronous write after three
default sized writes (10 kB) from tar.
Scatter/gather buffers (buffers that consist of chunks non-contiguous Scatter/gather buffers (buffers that consist of chunks non-contiguous
in the physical memory) are used if contiguous buffers can't be in the physical memory) are used if contiguous buffers can't be
allocated. To support all SCSI adapters (including those not allocated. To support all SCSI adapters (including those not
......
This diff is collapsed.
...@@ -96,7 +96,6 @@ typedef struct { ...@@ -96,7 +96,6 @@ typedef struct {
unsigned char c_algo; /* compression algorithm */ unsigned char c_algo; /* compression algorithm */
unsigned char pos_unknown; /* after reset position unknown */ unsigned char pos_unknown; /* after reset position unknown */
int tape_type; int tape_type;
int write_threshold;
int timeout; /* timeout for normal commands */ int timeout; /* timeout for normal commands */
int long_timeout; /* timeout for commands known to take long time */ int long_timeout; /* timeout for commands known to take long time */
......
/* /*
The compile-time configurable defaults for the Linux SCSI tape driver. The compile-time configurable defaults for the Linux SCSI tape driver.
Copyright 1995-2002 Kai Makisara. Copyright 1995-2003 Kai Makisara.
Last modified: Fri Jul 26 15:54:31 2002 by makisara Last modified: Mon Apr 7 22:49:18 2003 by makisara
*/ */
#ifndef _ST_OPTIONS_H #ifndef _ST_OPTIONS_H
...@@ -39,11 +39,6 @@ ...@@ -39,11 +39,6 @@
Must be non-zero. */ Must be non-zero. */
#define ST_FIXED_BUFFER_BLOCKS 32 #define ST_FIXED_BUFFER_BLOCKS 32
/* The number of kilobytes of data in the buffer that triggers an
asynchronous write in fixed block mode. See also ST_ASYNC_WRITES
below. */
#define ST_WRITE_THRESHOLD_BLOCKS 30
/* Maximum number of scatter/gather segments */ /* Maximum number of scatter/gather segments */
#define ST_MAX_SG 256 #define ST_MAX_SG 256
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment