~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/Documentation/ftape.txt

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 Intro
  2 =====
  3 
  4 This file describes some issues involved when using the "ftape"
  5 floppy tape device driver that comes with the Linux kernel. This
  6 document deals with ftape-3.04 and later. Please read the section
  7 "Changes" for the most striking differences between version 3.04 and
  8 2.08; the latter was the version of ftape delivered with the kernel
  9 until kernel version 2.0.30 and 2.1.57. ftape-3.x developed as the
 10 re-unification of ftape-2.x and zftape. zftape was developed in
 11 parallel with the stock ftape-2.x driver sharing the same hardware
 12 support but providing an enhanced file system interface. zftape also
 13 provided user transparent block-wise on-the-fly compression (regard it
 14 as a feature or bug of zftape).
 15 
 16 ftape has a home page at
 17 
 18 http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape
 19 
 20 which contains further information about ftape. Please cross check
 21 this WWW address against the address given (if any) in the MAINTAINERS
 22 file located in the top level directory of the Linux kernel source
 23 tree.
 24 
 25 Contents
 26 ========
 27 
 28 A minus 1: Ftape documentation
 29 
 30 A. Changes
 31    1. Goal
 32    2. I/O Block Size
 33    3. Write Access when not at EOD (End Of Data) or BOT (Begin Of Tape)
 34    4. MTBSF - backspace over file mark and position at its EOT side
 35    5. Formatting
 36    6. Interchanging cartridges with other operating systems
 37 
 38 B. Debugging Output
 39    1. Introduction
 40    2. Tuning the debugging output
 41 
 42 C. Boot and load time configuration
 43    1. Setting boot time parameters
 44    2. Module load time parameters
 45    3. Ftape boot- and load time options
 46    4. Example kernel parameter setting
 47    5. Example module parameter setting
 48 
 49 D. Support and contacts
 50 
 51 *******************************************************************************
 52 
 53 A minus 1. Ftape documentation
 54 ==============================
 55 
 56 Unluckily, the ftape-HOWTO is out of date. This really needs to be
 57 changed. Up to date documentation as well as recent development
 58 versions of ftape and useful links to related topics can be found at
 59 the ftape home page at
 60 
 61 http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape
 62 
 63 *******************************************************************************
 64 
 65 A. Changes
 66 ==========
 67 
 68 1. Goal
 69    ~~~~
 70    The goal of all that incompatibilities was to give ftape an interface
 71    that resembles the interface provided by SCSI tape drives as close
 72    as possible. Thus any Unix backup program that is known to work
 73    with SCSI tape drives should also work with ftape-3.04 and above.
 74 
 75    The concept of a fixed block size for read/write transfers is
 76    rather unrelated to this SCSI tape compatibility at the file system
 77    interface level. It developed out of a feature of zftape, a
 78    block wise user transparent on-the-fly compression. That compression
 79    support will not be dropped in future releases for compatibility
 80    reasons with previous releases of zftape.
 81 
 82 2. I/O Block Size
 83    ~~~~~~~~~~~~~~
 84    The probably most striking difference between ftape-2.x and
 85    ftape-3.x with the zftape file system interface is the concept of a
 86    fixed block size: data must be written to or read from the tape in
 87    multiples of a fixed block size. The block size defaults to 10k
 88    which is the default block size of GNU tar. While this is quite
 89    usual for SCSI tapes (block size of 32k?) and the QIC-150 driver
 90    `./drivers/char/tpqic02.c' ftape-2.x allowed data to be written in
 91    arbitrary portions to the tape.
 92 
 93    The block size can be tuned either during kernel configuration or
 94    at runtime with the MTIOCTOP ioctl using the MTSETBLK operation
 95    (i.e. do "mt -f /dev/qft0" setblk #BLKSZ). A block size of 0
 96    switches to variable block size mode i.e. "mt setblk 0" switches
 97    off the block size restriction. However, this disables zftape's
 98    built in on-the-fly compression which doesn't work with variable
 99    block size mode.
100 
101    The BLKSZ parameter must be given as a byte count and must be a
102    multiple of 32k or 0, i.e. use "mt setblk 32768" to switch to a
103    block size of 32k.
104 
105    The typical symptom of a block size mismatch is an "invalid
106    argument" error message.
107 
108 3. Write Access when not at EOD (End Of Data) or BOT (Begin Of Tape)
109    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
110    zftape (the file system interface of ftape-3.x) denies write access
111    to the tape cartridge when it isn't positioned either at BOT or
112    EOD. This inconvenience has been introduced as it was reported that
113    the former behavior of ftape-2.x which allowed write access at
114    arbitrary locations already has caused data loss with some backup
115    programs.
116 
117 4. MTBSF - backspace over file mark and position at its EOT side
118    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
119    ftape-2.x didn't handle the MTBSF tape operation correctly. A MTBSF
120    call (i.e. "mt -f /dev/nqft0 bsf #COUNT") should space over #COUNT
121    file marks and then position at the EOT tape side of the file
122    mark. This has to be taken literally, i.e. "mt -f /dev/nqft0 bsf 1"
123    should simply position at the start of the current volume.
124 
125 5. Formatting
126    ~~~~~~~~~~
127    ftape-3.x DOES support formatting of floppy tape cartridges. You
128    need the `ftformat' program that is shipped with the modules version
129    of ftape-3.x. Please get the latest version of ftape from
130 
131    ftp://sunsite.unc.edu/pub/Linux/kernel/tapes
132 
133    or from the ftape home page at
134 
135    http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape
136 
137    `ftformat' is contained in the `./contrib/' subdirectory of that
138    separate ftape package.
139 
140 6. Interchanging cartridges with other operating systems
141    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
142 
143    The internal emulation of Unix tape device file marks has changed
144    completely. ftape-3.x now uses the volume table segment as specified
145    by the QIC-40/80/3010/3020/113 standards to emulate file marks. As
146    a consequence there is limited support to interchange cartridges
147    with other operating systems.
148 
149    To be more precise: ftape will detect volumes written by other OS's
150    programs and other OS's programs will detect volumes written by
151    ftape-3.x.
152 
153    However, it isn't possible to extract the data dumped to the tape
154    by some MSDOG program with ftape-3.x. This exceeds the scope of a
155    kernel device driver. If you need such functionality, then go ahead
156    and write a user space utility that is able to do
157    that. ftape-3.x/zftape already provides all kernel level support
158    necessary to do that.
159 
160 *******************************************************************************
161 
162 B. Debugging Output
163    ================
164 
165 1. Introduction
166    ~~~~~~~~~~~~
167    The ftape driver can be very noisy in that is can print lots of
168    debugging messages to the kernel log files and the system console.
169    While this is useful for debugging it might be annoying during
170    normal use and enlarges the size of the driver by several kilobytes.
171 
172    To reduce the size of the driver you can trim the maximal amount of
173    debugging information available during kernel configuration. Please
174    refer to the kernel configuration script and its on-line help
175    functionality.
176 
177    The amount of debugging output maps to the "tracing" boot time
178    option and the "ft_tracing" modules option as follows:
179 
180    0              bugs
181    1              + errors (with call-stack dump)
182    2              + warnings
183    3              + information
184    4              + more information
185    5              + program flow
186    6              + fdc/dma info
187    7              + data flow
188    8              + everything else
189 
190 2. Tuning the debugging output
191    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
192    To reduce the amount of debugging output printed to the system
193    console you can
194 
195    i)  trim the debugging output at run-time with
196 
197        mt -f /dev/nqft0 setdensity #DBGLVL
198 
199        where "#DBGLVL" is a number between 0 and 9
200 
201    ii) trim the debugging output at module load time with
202 
203        insmod ftape.o ft_tracing=#DBGLVL
204 
205        Of course, this applies only if you have configured ftape to be
206        compiled as a module.
207 
208    iii) trim the debugging output during system boot time. Add the
209        following to the kernel command line:
210 
211        ftape=#DBGLVL,tracing
212 
213        Please refer also to the next section if you don't know how to
214        set boot time parameters.
215 
216 *******************************************************************************
217 
218 C. Boot and load time configuration
219    ================================
220 
221 1. Setting boot time parameters
222    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
223    Assuming that you use lilo, the LI)nux LO)ader, boot time kernel
224    parameters can be set by adding a line
225 
226    append some_kernel_boot_time_parameter
227 
228    to `/etc/lilo.conf' or at real boot time by typing in the options
229    at the prompt provided by LILO. I can't give you advice on how to
230    specify those parameters with other loaders as I don't use them.
231 
232    For ftape, each "some_kernel_boot_time_parameter" looks like
233    "ftape=value,option". As an example, the debugging output can be
234    increased with
235 
236    ftape=4,tracing
237 
238    NOTE: the value precedes the option name.
239 
240 2. Module load time parameters
241    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
242    Module parameters can be specified either directly when invoking
243    the program 'insmod' at the shell prompt:
244 
245    insmod ftape.o ft_tracing=4
246 
247    or by editing the file `/etc/modules.conf' in which case they take
248    effect each time when the module is loaded with `modprobe' (please
249    refer to the modules documentation, i.e. `modules.txt' and the
250    respective manual pages). Thus, you should add a line
251 
252    options ftape ft_tracing=4
253 
254    to `/etc/modules.conf` if you intend to increase the debugging
255    output of the driver.
256 
257 
258 3. Ftape boot- and load time options
259    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
260 
261    i.   Controlling the amount of debugging output
262         DBGLVL has to be replaced by a number between 0 and 8.
263 
264         module                 |  kernel command line
265         -----------------------|----------------------
266         ft_tracing=DBGLVL      |  ftape=DBGLVL,tracing
267 
268    ii.  Hardware setup
269         BASE is the base address of your floppy disk controller,
270         IRQ and DMA give its interrupt and DMA channel, respectively.
271         BOOL is an integer, "0" means "no"; any other value means
272         "yes". You don't need to specify anything if connecting your tape
273         drive to the standard floppy disk controller. All of these
274         values have reasonable defaults. The defaults can be modified
275         during kernel configuration, i.e. while running "make config",
276         "make menuconfig" or "make xconfig" in the top level directory
277         of the Linux kernel source tree. Please refer also to the on
278         line documentation provided during that kernel configuration
279         process.
280 
281         module                 |  kernel command line
282         -----------------------|----------------------
283         ft_fdc_base=BASE       |  ftape=BASE,ioport
284         ft_fdc_irq=IRQ         |  ftape=IRQ,irq
285         ft_fdc_dma=DMA         |  ftape=DMA,dma
286         ft_probe_fc10=BOOL     |  ftape=BOOL,fc10
287         ft_mach2=BOOL          |  ftape=BOOL,mach2
288         ft_fdc_threshold=THR   |  ftape=THR,threshold
289         ft_fdc_rate_limit=RATE |  ftape=RATE,datarate
290 
291 4. Example kernel parameter setting
292    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
293    To configure ftape to probe for a Colorado FC-10/FC-20 controller
294    and to increase the amount of debugging output a little bit, add
295    the following line to `/etc/lilo.conf':
296 
297    append ftape=1,fc10 ftape=4,tracing
298 
299 5. Example module parameter setting
300    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
301    To do the same, but with ftape compiled as a loadable kernel
302    module, add the following line to `/etc/modules.conf':
303 
304    options ftape ft_probe_fc10=1 ft_tracing=4
305 
306 *******************************************************************************
307 
308 D. Support and contacts
309    ====================
310 
311    Ftape is distributed under the GNU General Public License. There is
312    absolutely no warranty for this software. However, you can reach
313    the current maintainer of the ftape package under the email address
314    given in the MAINTAINERS file which is located in the top level
315    directory of the Linux kernel source tree. There you'll find also
316    the relevant mailing list to use as a discussion forum and the web
317    page to query for the most recent documentation, related work and
318    development versions of ftape.
319 
320 
321  LocalWords:  ftape Linux zftape http www rwth aachen LBFM claus EOD config
322  LocalWords:  datarate LocalWords BOT MTBSF EOT HOWTO QIC tpqic menuconfig
323  LocalWords:  MTIOCTOP MTSETBLK mt dev qft setblk BLKSZ bsf zftape's xconfig
324  LocalWords:  nqft ftformat ftp sunsite unc edu contrib ft MSDOG fdc
325  LocalWords:  dma setdensity DBGLVL insmod lilo LI nux ader conf txt
326  LocalWords:  modprobe IRQ BOOL ioport irq fc mach THR

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.