home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / FAQ / txt / Ftape-FAQ < prev    next >
Text File  |  1999-04-09  |  54KB  |  1,849 lines

  1.   The Ftape-FAQ
  2.   Johan De Wit, <jo@correct.nl>
  3.   v0.2, 07 december 1997
  4.  
  5.   This is a very incomplete attempt to create a FAQ for the Ftape Floppy
  6.   Tape Device Driver.  Any suggestions, remarks ... that could improve
  7.   this FAQ are welcome indeed.  The most recent version of this FAQ can
  8.   be found at <http://www.correct.nl/~ftape/>
  9.   ______________________________________________________________________
  10.  
  11.   Table of Contents
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.   1. A Word From The Maintainer Of Ftape.
  68.  
  69.   2. "Compiling and installing Ftape" related questions !
  70.  
  71.      2.1 What Ftape version should I use?
  72.      2.2 I'm having problems getting my XYZ drive to run under the 2.0.xx kernel with the built-in driver.  How do I fix this?
  73.      2.3 I'm running Linux/SMP and the system just freezes when trying to access the Ftape devices!
  74.      2.4 Why does depmod complain about "undefined symbols"?
  75.      2.5 "insmod" says the kernel version is wrong
  76.      2.6 "insmod" says that kernel 1.2.0 and 1.2.0 differ
  77.      2.7 Trying to compile Ftape gives me the error "modversions.h: no such file or directory"
  78.      2.8 What is this versioned symbols stuff anyway?
  79.      2.9 I seem to be getting sftape instead of zftape. When I run "ftmt status" command, I get output that the Ftape docs says corresponds to sftape ( /dev/qft0: Invalid argument ). Why?
  80.      2.10 My Ditto DASH/FC-20/Exabyte Accelerator card works under Microsoft Windows, but I get a drive not found type of error in /var/log/messages when trying to use it under Linux.
  81.      2.11 Ftape DMA transfers gives ECC errors
  82.      2.12 Help! I'm getting 'dmaalloc() failed' in my syslog file.
  83.      2.13 Syslogd works overtime when running Ftape
  84.      2.14 How do I change the trace-level?
  85.      2.15 I'm having problems with Ftape.  I'm using the latest version of Ftape from the Ftape Home Page and believe that I've located a real bug. What should I do?
  86.  
  87.   3. "Using Ftape" related questions !
  88.  
  89.      3.1 How fast is Ftape ?
  90.      3.2 When I write to some of my tapes, they seem to spend a lot of time "shoe-shining," or repositioning instead of streaming.  Is something wrong with my system?
  91.      3.3 Do I have to reboot to the DOS world to format tapes?
  92.      3.4 Is it possibly to format Ditto 2GB tapes with ftape?
  93.      3.5 Is it possibly to format Ditto Max or Max Pro tapes with ftape?
  94.      3.6 Ftape detects more bad sectors than DOS on QIC-3020 tapes
  95.      3.7 Is it ok that I'm not hearing the tape move when I do a fsf or a bsf with mt?
  96.      3.8 Why does my XYZ backup program complain about "Invalid argument" errors?
  97.      3.9 I/O errors and FDC - some explanations.
  98.      3.10 Why do I get "/dev/qft0: No such device" errors?
  99.      3.11 I get "device busy" when I make multiple backups on a tape using some script.
  100.      3.12 How do I "..." with tar?
  101.      3.13 What block-size should I use with tar ?
  102.      3.14 Where can I find the tar/mt/cpio/dd binaries - sources - manpages?
  103.      3.15 If I use tapers compression, is it a bad idea to use the compression with zftape, or would it be better to not use tapers compression, and let zftape do it?
  104.      3.16 How does zftape compression compare to say gzip -9?
  105.      3.17 I don't trust compression, but hear that the sftape interface is going away. What should I do?
  106.      3.18 Ftape says "This tape has no 'Linux raw format"
  107.      3.19 Can I exchange tapes with someone using DOS?
  108.      3.20 How does `mt eom' work when you've started overwriting a tape in the middle?
  109.      3.21 When I made backups before using taper, under the 2.0.29 ftape my drive didn't support fsf, under the new zftape it does, why would this be, and what exactly is fsf ?
  110.      3.22 What exactly is the difference between ftape, and zftape?
  111.      3.23 What is the difference between a rewinding, and non rewinding drive?
  112.      3.24 Can someone tell me how to use mt to rewind my TR-3 drive one record using zftape record, so I can verify it?
  113.      3.25 By non-rewinding, they mean that it doesn't automatically rewind, correct? It doesn't mean that under no circumstances it will rewind, right?  I tried using /dev/zqft0, and it instantly rewinds the tape.
  114.      3.26 What is the difference between what mt considers a record and what it considers a file?
  115.      3.27 Reusing tapes with zftape without reformatting the tape.
  116.      3.28 This script implements a simple contents listing for the zftape package using the "MTIOCVOLINFO" ioctl.
  117.  
  118.   4. "Tape and Drivers" related questions !
  119.  
  120.      4.1 What are good makers of Travan tapes?
  121.      4.2 Where can I obtain the QIC standards?
  122.      4.3 Is the Iomega Ditto 2GB drive supported?
  123.      4.4 Is the Iomega Ditto Max drive supported?
  124.      4.5 Is the Iomega Ditto Max Pro drive supported?
  125.  
  126.   5. Miscellaneous !
  127.  
  128.      5.1 How to subscribe to the Ftape Mailing List?
  129.      5.2 How to un-subscribe from the Ftape Mailing List?
  130.      5.3 Links to related information.
  131.  
  132.  
  133.   ______________________________________________________________________
  134.  
  135.   1.  A Word From The Maintainer Of Ftape.
  136.  
  137.  
  138.   This is a very incomplete attempt to create a FAQ for the Ftape Floppy
  139.   Tape Device Driver.
  140.  
  141.   You might encounter references to the following addresses while
  142.   reading this document:
  143.  
  144.  
  145.   ╖  The maintainer of the Ftape FAQ :
  146.  
  147.      Johan De Wit <jo@correct.nl>
  148.  
  149.   ╖  The Ftape maintainer :
  150.  
  151.      Claus-Justus Heine <claus@momo.math.rwth-aachen.de>
  152.  
  153.   ╖  The Ftape Home Page :
  154.  
  155.      <http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/>
  156.  
  157.   ╖  Mirrors of the Ftape Home Page :
  158.  
  159.      <http://www.torque.net/ftape/>
  160.  
  161.      Thanks to Grant R. Guenther <grant@torque.net>
  162.  
  163.      <http://www.info-systems.com/ftape/>
  164.  
  165.      Thanks to Jakob Curdes <jc@info-systems.com>
  166.  
  167.      <http://www.newwave.net/~joshg/ftape/>
  168.  
  169.      Thanks to Josh Goins <joshg@newwave.net>
  170.  
  171.  
  172.   ╖  The Ftape HOWTO :
  173.  
  174.      <http://sunsite.unc.edu/LDP/HOWTO>
  175.  
  176.   ╖  The Ftape Mailing List :
  177.  
  178.      <linux-tape@vger.rutgers.edu>
  179.  
  180.  
  181.   There is surely quite a lot missing. Please feel free to improve this
  182.   FAQ.  The preferred way of doing this is to post to the Ftape Mailing
  183.   List in case you have a question that isn't answered here.
  184.  
  185.   Also, if you are already reading the list regularly and have the
  186.   impression that some questions occur again and again, feel free to
  187.   send that question and possibly an answer in the format indicated
  188.   below to the maintainer of the Ftape FAQ AND to Ftape Mailing List.
  189.  
  190.   If you make FAQ related postings, then please DON'T FORGET to prepend
  191.   the word "[FAQ]" to the subject of your posting. Please don't add the
  192.   word "FAQ" to the subject if you post something that isn't related to
  193.   the FAQ.
  194.  
  195.   That's all for now.
  196.  
  197.   Claus-Justus Heine.
  198.  
  199.   2.  "Compiling and installing Ftape" related questions !
  200.  
  201.  
  202.  
  203.   2.1.  What Ftape version should I use?
  204.  
  205.  
  206.   Always the latest stable version which is _supposed_ to be available
  207.   from ftp://sunsite.unc.edu/pub/Linux/kernel/tapes and http://www-
  208.   math.math.rwth-aachen.de/~LBFM/claus/ftape/
  209.  
  210.   At time of this writing the latest stable version is ftape-4.02.
  211.  
  212.   <answer from Claus Heine>
  213.  
  214.   2.2.  I'm having problems getting my XYZ drive to run under the 2.0.xx
  215.   kernel with the built-in driver.  How do I fix this?
  216.  
  217.  
  218.   The default version of Ftape included in the 2.0.xx kernel sources is
  219.   2.08 or 2.09 and is very out of date.  Please update the Ftape drivers
  220.   to the latest from the Ftape Home Page.
  221.  
  222.   <answer from Tim Jones>
  223.  
  224.   2.3.  I'm running Linux/SMP and the system just freezes when trying to
  225.   access the Ftape devices!
  226.  
  227.  
  228.   You need to add -D__SMP__ to the KERNEL_OPT variable in the file
  229.   MCONFIG. In newer ftape versions you only need to uncomment a certain
  230.   line in the MCONFIG file.
  231.  
  232.   <answer from Claus Heine>
  233.  
  234.  
  235.   2.4.  Why does depmod complain about "undefined symbols"?
  236.  
  237.  
  238.   Ignore the depmod error messages. The problem is that the Ftape
  239.   modules have to be compiled without the version checksum feature (i.e.
  240.   CONFIG_MODVERSIONS) with 2.0.* kernels. This causes no problem, even
  241.   when the modules are used with a kernel that has support for this
  242.   feature; only that depmod wrongly complains about undefined symbols.
  243.   Ignore the complaints of depmod and try to insert the modules despite
  244.   of these complaints:
  245.  
  246.  
  247.        modprobe zftape
  248.  
  249.  
  250.  
  251.  
  252.   If this fails, something is wrong.
  253.  
  254.   <answer from Claus Heine>
  255.  
  256.  
  257.   2.5.  "insmod" says the kernel version is wrong
  258.  
  259.  
  260.   The insmod program can check the kernel version against the version
  261.   that Ftape was compiled for in two ways: It can directly compare the
  262.   kernel version number recorded in the Ftape module against the version
  263.   of the running kernel, or, if both the kernel and Ftape is compiled
  264.   with versioned symbols, compare the version of the used kernel
  265.   symbols.
  266.  
  267.   If you have upgraded your version of GCC to v2.7.0 or later, you must
  268.   recompile the modules utilities with gcc v2.7.x.
  269.  
  270.   Newer versions of insmod allows you to "force" insertion of a module
  271.   into the kernel, even though the version string is incorrect.
  272.  
  273.   <from the Ftape-Howto>
  274.  
  275.  
  276.   2.6.  "insmod" says that kernel 1.2.0 and 1.2.0 differ
  277.  
  278.  
  279.   Did you remember to apply the ksyms.c patch to the kernel?  If not,
  280.   read the README.linux-1.2 file in the source distribution.
  281.  
  282.   <from the Ftape-Howto>
  283.  
  284.  
  285.   2.7.  Trying to compile Ftape gives me the error "modversions.h: no
  286.   such file or directory"
  287.  
  288.  
  289.   The modversions.h file is created when the kernel is compiled with the
  290.   configuration item CONFIG_MODVERSIONS turned on.  With this option
  291.   enabled, the file will be created during the make dep step.
  292.  
  293.   One more handy tip is that a make mrproper will remove
  294.   /usr/include/linux/modversions.h.  You will need to reconfig the
  295.   kernel and do a make dep to get the file back.
  296.  
  297.   <from the Ftape-Howto>
  298.  
  299.  
  300.   2.8.  What is this versioned symbols stuff anyway?
  301.  
  302.  
  303.   When you say `yes' to CONFIG_MODVERSIONS during `make config', all the
  304.   symbols exported by the kernel, i.e: the symbols that the loadable
  305.   modules can "see", are augmented to include a checksum across the
  306.   types of the call/return parameters.  This allows insmod to detect
  307.   whether the definition of a variable or function in the kernel has
  308.   changed since the time when Ftape was compiled.
  309.  
  310.   This ensures a high degree of safety, such that you do not crash the
  311.   kernel because you used an outdated module with your kernel.
  312.  
  313.   If you enable CONFIG_MODVERSIONS in the kernel, make sure you have
  314.  
  315.   -DMODVERSIONS -include /usr/include/linux/modversions.h
  316.  
  317.  
  318.   uncommented in the MODULE_OPT line in the Ftape Makefile.  Conversely,
  319.   if you do not have CONFIG_MODVERSIONS enabled, make sure you have it
  320.   commented out.
  321.  
  322.   <from the Ftape-Howto>
  323.  
  324.  
  325.   2.9.  I seem to be getting sftape instead of zftape. When I run "ftmt
  326.   status" command, I get output that the Ftape docs says corresponds to
  327.   sftape ( /dev/qft0: Invalid argument ). Why?
  328.  
  329.  
  330.  
  331.   There are (at least) two possible sources of the problem:
  332.  
  333.   ╖  All Ftape-3.* versions prior to 3.04 install the modules into
  334.  
  335.  
  336.        /lib/modules/misc
  337.        instead of
  338.        /lib/modules/uname -r/misc
  339.  
  340.  
  341.  
  342.  
  343.   As modprobe searches in /lib/modules/misc/ last there might be an old
  344.   ftape.o module floating around in /lib/modules/ uname -r/misc which
  345.   modprobe finds first (uname -r stands for the kernel version).  Remove
  346.   the old ftape.o module.
  347.  
  348.   ╖  Your kernel has support for Ftape compiled in. Reconfigure your
  349.      kernel without support for Ftape (CONFIG_FTAPE) and recompile and
  350.      install it.
  351.  
  352.   <answer from Claus Heins>
  353.  
  354.  
  355.   2.10.  My Ditto DASH/FC-20/Exabyte Accelerator card works under
  356.   Microsoft Windows, but I get a drive not found type of error in
  357.   /var/log/messages when trying to use it under Linux.
  358.  
  359.  
  360.   You are probably trying to use the same IRQ and DMA settings as your
  361.   on-board FDC. This does not work in versions of Ftape prior to 3.03b.
  362.   Please update the Ftape Drivers to the latest from the Ftape Home
  363.   Page.
  364.  
  365.   <answer from Tim Jones>
  366.  
  367.  
  368.   2.11.  Ftape DMA transfers gives ECC errors
  369.  
  370.  
  371.   Sadly to say there are some SVGA cards and Ethernet cards that do not
  372.   decode their addresses correct.  This typically happens when the Ftape
  373.   buffers are in the range 0x1a0000 to 0x1c0000.  Somehow, the DMA write
  374.   cycles get clobbered and every other byte written gets a bad value
  375.   (0xff).  These problems are reported to happen with both SVGA and
  376.   Ethernet cards.  We know of at least one (bad?) ATI 16bit VGA card
  377.   that caused this.
  378.  
  379.   The easiest solution is to put the card in an 8bit slot (it is often
  380.   not enough to reconfigure the card to 8bit transfers).  Moving the
  381.   Ftape buffer away from the VGA range is only a partial solution; All
  382.   DMA buffers used in Linux can have this problem!  Let us make this one
  383.   clear: This has nothing to do with the Ftape software.
  384.  
  385.   <from the Ftape-Howto>
  386.  
  387.  
  388.   2.12.  Help! I'm getting 'dmaalloc() failed' in my syslog file.
  389.  
  390.  
  391.   You should only see this is you are trying to insmod the ftape.o
  392.   module.  Try running swapout first.  It is provided with the
  393.   standalone Ftape source.  It doesn't appear in the Ftape source that's
  394.   provided with the kernel.
  395.  
  396.  
  397.   Here's an example of how you can set your rc.local file to use it.
  398.  
  399.  
  400.  
  401.        # Install the Floppy Tape Driver
  402.        if [ -f /boot/modules/`uname -r`/misc/ftape.o ]; then
  403.           echo Installing ftape for Linux `uname -r`
  404.           swapout
  405.           insmod /boot/modules/`uname -r`/misc/ftape.o
  406.        fi
  407.  
  408.  
  409.  
  410.  
  411.   Please note that you won't have this type of problem if you compile
  412.   the Ftape driver into the kernel.
  413.  
  414.   <from the Ftape-Howto>
  415.  
  416.  
  417.   2.13.  Syslogd works overtime when running Ftape
  418.  
  419.  
  420.   The compile-time options NO_TRACE and NO_TRACE_AT_ALL in Ftape control
  421.   the amount of system logging.  Add whichever is appropriate to the
  422.   FTAPE_OPT line in the Makefile and recompile.
  423.  
  424.   <from the Ftape-Howto>
  425.  
  426.  
  427.   2.14.  How do I change the trace-level?
  428.  
  429.  
  430.   There are three ways you can do this (in order of personal
  431.   preference).
  432.  
  433.   While we're at it, here are the meanings of the various trace levels.
  434.  
  435.  
  436.   ╖  0 Bugs
  437.  
  438.   ╖  1 + Errors
  439.  
  440.   ╖  2 + Warnings
  441.  
  442.   ╖  3 + Information
  443.  
  444.   ╖  4 + More information
  445.  
  446.   ╖  5 + Program flow
  447.  
  448.   ╖  6 + FDC/DMA info
  449.  
  450.   ╖  7 + Data flow
  451.  
  452.   ╖  8 + Everything else
  453.  
  454.  
  455.   1. Using insmod to change trace-level
  456.  
  457.      If you are using the modules mechanism to load the Ftape driver,
  458.      you can specify the tracing level as an option to the insmod
  459.      command.
  460.  
  461.  
  462.  
  463.           /sbin/insmod ftape.o tracing=<tracing-level>
  464.  
  465.  
  466.  
  467.  
  468.   2. Using mt to change trace-level
  469.  
  470.      The Ftape driver has a hack in it that allows the fsr option in mt
  471.      to be used to set the tracing level.  zftape does not have this
  472.      hack.
  473.  
  474.  
  475.                mt -f /dev/ftape fsr <tracing-level>
  476.  
  477.  
  478.  
  479.  
  480.   The use of the fsr command in mt is a hack, and will probably disap¡
  481.   pear or change with time.
  482.  
  483.   3. Recompiling to change trace-level
  484.  
  485.      The file tracing.c contains a line int tracing = 3;.  Change the 3
  486.      to whatever is appropriate and recompile.
  487.  
  488.   <From the Ftape-Howto>
  489.  
  490.  
  491.   2.15.  I'm having problems with Ftape.  I'm using the latest version
  492.   of Ftape from the Ftape Home Page and believe that I've located a real
  493.   bug. What should I do?
  494.  
  495.  
  496.   Check the Ftape Home Page.  for an even newer version. Then check the
  497.   FAQ contained in the that package if your problem is listed there.
  498.   Next, try to check if the manual that comes with the Ftape
  499.   distribution mentions your problem.
  500.  
  501.   There is no need to read the entire manual, simply check the "Concept
  502.   Index" if it contains a keyword that might be related to your problem,
  503.   then jump to the proper location in the manual.
  504.  
  505.   If you are still convinced you've found a bug, then post a general
  506.   question describing the problem to the Linux-Tape Mailing List , but
  507.   do not attach your entire Ftape error-log. If we've seen the problem
  508.   before, we'll let you know where the resolution effort stands.  If we
  509.   haven't, the Ftape maintainer will most likely request that you send
  510.   him the entire Ftape error-log (snipped from your system messages
  511.   file).
  512.  
  513.   <answer from Tim Jones>
  514.  
  515.  
  516.   3.  "Using Ftape" related questions !
  517.  
  518.  
  519.  
  520.   3.1.  How fast is Ftape ?
  521.  
  522.  
  523.   You can achieve quite respectable backup and restore speeds with
  524.   Ftape: a Colorado DJ-20 and an Adaptec 1542CF controller, has been
  525.   measured at 4.25Mbyte/min sustained data transfer rate (no
  526.   compression) across a 70Mbyte tar archive, while comparing the archive
  527.   on the tape with data on an IDE disk.  The speed of Ftape is mostly
  528.   dependent on the data transfer rate of your FDC: The AHA1542CF has a
  529.   ``post-1991 82077'' FDC, and it will push 1Mbit/sec at the tape drive.
  530.   If you have an FDC which can only deliver 500Kbit/sec data rates, you
  531.   will see half the transfer rate (well, roughly).
  532.  
  533.  
  534.  
  535.   3.2.  When I write to some of my tapes, they seem to spend a lot of
  536.   time "shoe-shining," or repositioning instead of streaming.  Is some¡
  537.   thing wrong with my system?
  538.  
  539.  
  540.   There has been a few reports of "shoeshining".  This is when the tape
  541.   just seems to run back and forth endlessly.  This has been seen on a
  542.   Jumbo 250 (74407.3051@compuserve.com) and on an Iomega 250 Ditto
  543.   Insider (tom@opus.cais.com). In the latter case it has been narrowed
  544.   own to using an ELF Linux and running off a SCSI hard disk (connected
  545.   to an Adaptec 1542cf).  Please contact me if you have an update to
  546.   this problem.
  547.  
  548.   <from the Ftape-Howto>
  549.  
  550.   Probably not. If you are backing up a large number of < 2K files,
  551.   you're just going to have to live with it.  In this event, the
  552.   repositions are caused by file system access overhead. If you are
  553.   backing up a normal system's files, this may be caused by slop or
  554.   media stretching in the tape cartridge. By simply retensioning the
  555.   tape, you should see this go away. Try
  556.  
  557.  
  558.        ftmt -f /dev/zqft0 reten
  559.  
  560.  
  561.  
  562.  
  563.   to retension the tape. If retensioning doesn't solve this, and it's
  564.   only happening on certain tapes, it might be wise to replace the tapes
  565.   in question.
  566.  
  567.   <answer from Tim Jones>
  568.  
  569.   If you use afio as your backup tool you can set it to write a very
  570.   large number of buffers in one hit by using the -c flag. Make it large
  571.   enough so that you supply enough data for most of a single end-to-end
  572.   pass over the tape.  For my system, the following streams quite nicely
  573.   - stopping relatively few times per tape pass on an unloaded system:
  574.  
  575.  
  576.        find /usr/local -xdev -print | afio -o -v -f -b 10240 -c 800 /dev/qft0
  577.  
  578.  
  579.  
  580.  
  581.   In my case I'm writing 800 x 10240 bytes per tape write, i.e. about
  582.   8MB.  haven't experimented that much with these settings - so someone
  583.   might like to establish more optimal ones.
  584.  
  585.   Presumably other backup utilities could be modified to use a similar
  586.   technique.
  587.  
  588.   <answer by Michael Hamilton>
  589.  
  590.   GNU tar doesn't use buffering in this way. The commercial backup
  591.   program "bru" is able to multi-buffer using shared memory; this works
  592.   only when writing compressed archive with bru (regardless whether you
  593.   use Ftape's builtin compression)
  594.  
  595.   Another way to overcome the problem might be to use more dma buffers
  596.   in the Ftape kernel driver like:
  597.  
  598.  
  599.        mt -f /dev/qft0 setdrvbuffer $((6*32786))
  600.  
  601.  
  602.  
  603.  
  604.   $((6*32786)) should be expanded by your shell when using a Bourne com¡
  605.   patible one. This has a negative impact on the system's memory pool:
  606.   Ftape's dma buffers cannot be used by any other part of the kernel nor
  607.   by any other application. And kernel memory cannot be swapped out. If
  608.   you decide to use this kind of multi-buffering then you should unload
  609.   the driver as soon as it isn't needed any longer.
  610.  
  611.   <answer by Claus Heine>
  612.  
  613.  
  614.   3.3.  Do I have to reboot to the DOS world to format tapes?
  615.  
  616.  
  617.   Not if you are using the latest version of the Ftape drivers from  the
  618.   Ftape Home Page.
  619.  
  620.   To format a QIC-80, TR-1, TR-3, QICWide 3010 or 3020 tape, get the
  621.   latest version of ftape and the latest version of the ftape-tools
  622.   package (from the same location) and read the documentation of the
  623.   ftformat utility which is included in the ftape-tools package.
  624.  
  625.   (* Do not try to format Ditto 2GB tapes.  *)
  626.  
  627.   (* Do not try to format Ditto Max or Max Pro tapes.  *)
  628.  
  629.   <answers from Tim Jones and Claus Heine>
  630.  
  631.  
  632.   3.4.  Is it possibly to format Ditto 2GB tapes with ftape?
  633.  
  634.  
  635.   It isn't possible to format Ditto 2GB tapes with Ditto 2GB tape drive,
  636.   and it isn't possible at all to re-format Ditto 2GB tapes in a way
  637.   that they still can be used by a Ditto 2GB tape drive.
  638.  
  639.   This is a hardware limitation of the Ditto 2GB tape drive. It can't be
  640.   helped at the software level, i.e. it isn't ftape's fault.
  641.  
  642.  
  643.   3.5.  Is it possibly to format Ditto Max or Max Pro tapes with ftape?
  644.  
  645.  
  646.   No, the Ditto Max can't format tapes.
  647.  
  648.   This is a hardware limitation of the Ditto Max (Pro) tape drive. It
  649.   can't be helped at the software level, i.e. it isn't ftape's fault.
  650.  
  651.  
  652.   3.6.  Ftape detects more bad sectors than DOS on QIC-3020 tapes
  653.  
  654.  
  655.   If you look at the difference, you will notice that Ftape always
  656.   detects 2784 sectors more than DOS.
  657.  
  658.   The number that Ftape reports is correct (of course :-). Each
  659.   correctly formatted QIC-3020 tape has 2784 sectors at fixed positions
  660.   that are marked in the bad sector map. To quote from the specs:
  661.        Tracks 5,7,9,11,13,15,17,19,21,23,25 and 27 within 4 seg¡
  662.        ments of either EOT or BOT are prone to increased error
  663.        rates due to hole imprints.  Therefore, these regions shall
  664.        be mapped as bad at format time and entered in the bad sec¡
  665.        tor map by indicating that all sectors within the identified
  666.        segments are bad.
  667.  
  668.  
  669.   This gives 12 tracks * 2 * 4 segments * 29 sectors == 2784 sectors.
  670.  
  671.   So Ftape choose to report the real number of sectors that cannot be
  672.   used on the tape, while DOS gives a more optimistic number giving a
  673.   better indication of tape quality.  (Ftape's behavior might change in
  674.   the future to detect correct formatting and display the separate
  675.   numbers. It has rather low priority though).
  676.  
  677.   QIC-3010 are alike QIC-3020 tapes regarding this.
  678.  
  679.   <from the Ftape-Howto>
  680.  
  681.  
  682.   3.7.  Is it ok that I'm not hearing the tape move when I do a fsf or a
  683.   bsf with mt?
  684.  
  685.  
  686.   Yes.  The driver merely updates an internal counter when those
  687.   commands are issues.  The tape should move to the proper location on
  688.   the next read or write access to the tape drive.
  689.  
  690.   <from the Ftape-Howto>
  691.  
  692.  
  693.   3.8.  Why does my XYZ backup program complain about "Invalid argument"
  694.   errors?
  695.  
  696.  
  697.   zftape requires the data to be written in multiples of a fixed minimal
  698.   block size. This is a very usual behavior for a tape device. There are
  699.   three ways to get rid of those errors:
  700.  
  701.   ╖  set Ftape's block size to the block size used by the backup
  702.      program. The example below works for "afio":
  703.  
  704.  
  705.        mt -f /dev/qft0 setblk 5120
  706.  
  707.  
  708.  
  709.  
  710.   ╖  If you don't want to use Ftape's built in compression you can also
  711.      use
  712.  
  713.  
  714.        mt -f /dev/qft0 setblk 0
  715.  
  716.  
  717.  
  718.  
  719.   to switch Ftape to variable block size mode and be able to write the
  720.   data in arbitrary portions to the tape (BUT: the builtin compression
  721.   doesn't work with this setting). When you intend to use "KBackup" then
  722.   this is the only way to make it work together with Ftape (it _may_
  723.   work, don't know if it does)
  724.  
  725.   ╖  tell your backup program about Ftape's default block size of 10k
  726.      (which is also the default of GNU tar). For "afio" you can use the
  727.      following command line switch:
  728.  
  729.  
  730.        afio -b 10k ...
  731.  
  732.  
  733.  
  734.  
  735.   You may want to read the section "Tape blocks" of the manual (use its
  736.   "Concept index" to directly jump to that section)
  737.  
  738.   When using GNU tar's builtin compression with GNU tar versions prior
  739.   to tar-1.12 one needs to run tar with the --block-compress switch to
  740.   re-block the output to the tape.  Otherwise tar will compress the data
  741.   it reads, and write it in arbitrary portions to the tape.
  742.  
  743.  
  744.  
  745.        Example :
  746.  
  747.        tar -czvf /dev/qft0 --block-compress /etc
  748.  
  749.  
  750.  
  751.  
  752.   WARNING: One shouldn't use tar's builtin compression with large
  753.   backups as it makes the entire data stream one huge compressed block.
  754.   If such archives are corrupted right at the beginning it will be very
  755.   difficult to recover.
  756.  
  757.   <answer by Claus Heine>
  758.  
  759.  
  760.   3.9.  I/O errors and FDC - some explanations.
  761.  
  762.  
  763.   When you get next messages, this could be interesting for you !
  764.  
  765.  
  766.   ╖  fdc-io.c (ft_handle_perpend) - Your FDC does not support QIC-3020.
  767.  
  768.   ╖  Cannot write to /dev/qft0: I/O error
  769.  
  770.   The explanations:
  771.  
  772.   "FDC" menas "Floppy Disk Controller". The problem is that your floppy
  773.   disk controller must be able to support something that is called
  774.   "perpendicular mode" to be able to read and write QIC-3020/QIC-3010
  775.   cartridges (i.e. TR-3 cartridges). To my knowledge all FDCs that are
  776.   capable of at least 1Mbit/sec data transfer rate also support
  777.   "perpendicular mode" ("perpendicular" refers to the direction of
  778.   magnetization of the ferro-magnetic particles on the tape).
  779.  
  780.   This means that you need to purchase another FDC. Either look around
  781.   some computer stores and ask for an IO controller cards that is able
  782.   to support 2.88 Mb floppies (which imlies 1Mbit data transfer rate and
  783.   perpendicular mode).
  784.  
  785.   Or get one of the so called "high speed" controllers that even support
  786.   2Mbit/sec data transfer rate. Those controllers are based on an Intel
  787.   82078 FDC. Iomega sells such a card under the name "Ditto Dash". I
  788.   think Exabyte sells their 2Mbit controllers separately, too, whereas
  789.   Seagate ships its TR-3 drives (i.e. the TST-3200) together with such a
  790.   controller.
  791.  
  792.  
  793.   <answer from Claus Heine>
  794.  
  795.  
  796.   3.10.  Why do I get "/dev/qft0: No such device" errors?
  797.  
  798.  
  799.   I assume that the following is the problem: The Ftape module is loaded
  800.   OK into the kernel:
  801.  
  802.  
  803.        /usr/src/ftape-3.03b-970603# lsmod
  804.         Module         Pages    Used by
  805.         ftape             22            0
  806.  
  807.  
  808.  
  809.  
  810.   but then this happens:
  811.  
  812.  
  813.        $ ftmt -f /dev/qft0 status
  814.        ftmt: /dev/qft0: No such device
  815.  
  816.  
  817.  
  818.  
  819.   Solution You need to load the zftape.o module as well. With Ftape-3.*
  820.   the ftape.o module doesn't implement the VFS interface. This is done
  821.   by zftape.o.
  822.  
  823.   <answer from Claus Heine>
  824.  
  825.  
  826.   3.11.  I get "device busy" when I make multiple backups on a tape
  827.   using some script.
  828.  
  829.  
  830.   The "device busy" messages can only occur while the Ftape devices are
  831.   still held open by some program. As soon as the close() system call
  832.   has completed the busy flag is cleared. May be "bru" or some other
  833.   program has still forked off a child that dies delayed?
  834.  
  835.   Yes, this will reproduce the problem, it seems:
  836.  
  837.  
  838.        tar -cvvzf /dev/nqft0 --block-compress ; mt rewind
  839.  
  840.  
  841.  
  842.  
  843.   You can skip the "--block-compress" if using the most recent version
  844.   of GNU tar.
  845.  
  846.   However, this is not a bug of Ftape. It seems that the parent tar
  847.   process exits before its child has closed the tape device. I know,
  848.   however, from hacking the tar code ages ago, that tar properly waits
  849.   for its parent to die.
  850.  
  851.   However, the busy message simply means that the "busy" variable is
  852.   still held at 1 (zftape/zftape-init.c). And this simply means that
  853.   there still is a process hanging around that holds the tape device
  854.   open.
  855.  
  856.   I think I have it (only for the case of tar 'cause I have the source
  857.   code.
  858.  
  859.   If on uses tar with compression, then it forks a child which will
  860.   become the compressor bei execing  "gzip" or whatever. Before the call
  861.   to execlp() the child will fork off a grand child of its parent tar.
  862.   That grandchild will do the actual tape I/O.
  863.  
  864.  
  865.        tar - fork() - write to child tar
  866.                |
  867.              child tar - fork() - gzip (will pipe to grand child tar)
  868.                            |
  869.                          grand child tar - open archive.
  870.  
  871.  
  872.  
  873.  
  874.   Now, parent tar only waits for its child to die. gzip surely doesn't
  875.   wait for the grand child as the gzip is a result of an execlp().
  876.  
  877.   What I don't know is whether the grand child should be implicitly
  878.   waited for by the parent tar, or if the wait() function also waits for
  879.   grand childs.
  880.  
  881.   But this seems to be the problem: the parent tar already has exited
  882.   while its grandchild still is busy closing the archive. One hardly
  883.   will notice this problem if the close() happens fast (i.e. regular
  884.   files, block devices, also other tape devices?), but it isn't a bug in
  885.   Ftape, but either in the backup programs or in the kernel or maybe
  886.   libc exit code.
  887.  
  888.   Don't know if the considerations above also apply to bru. If there is
  889.   no grandchild and the parent process properly waits for its childs
  890.   then there shouldn't be a problem.
  891.  
  892.   <answer from Claus Heine>
  893.  
  894.  
  895.   3.12.  How do I "..." with tar?
  896.  
  897.  
  898.   These are really tar questions: Please read the man page and the info
  899.   page.  If you have not got it either, try
  900.  
  901.  
  902.        tar  --help 2>&1 | less
  903.  
  904.  
  905.  
  906.  
  907.   If your version of tar is v1.11.1 or earlier, consider upgrading to
  908.   v1.11.8 - This version can call GNU zip directly (i.e.: it supports
  909.   the -z option) and has an elaborate help included.  Also, it compiles
  910.   right out of the box on Linux.
  911.  
  912.   <from the Ftape-Howto>
  913.  
  914.  
  915.   3.13.  What block-size should I use with tar ?
  916.  
  917.  
  918.   When using compression, and in all general, it can be a benefit to
  919.   specify to tar, that it should block the output into chunks.  Since
  920.   Ftape cuts things into 29Kbyte blocks, saying `-b58' should be
  921.   optimum.
  922.  
  923.   "Why 29Kbyte?", I hear you cry.  Well, the QIC-80 standard specifies
  924.   that all data should be protected by an Error Correcting Code (ECC)
  925.   code.  The code specified in the QIC-80 standard is known as a Reed-
  926.   Solomon (R-S) code.  The R-S code takes 29 data bytes and generates 3
  927.   parity bytes.  To increase the performance of the ECC code, the parity
  928.   bytes are generated across 29 1Kbyte sectors.  Thus, Ftape takes
  929.   29Kbytes of data, adds 3Kbytes of ECC parity, and writes 32Kbytes to
  930.   the tape at a time.  For this reason, Ftape will always read and write
  931.   32K byte blocks to be able to detect (and correct) data errors.
  932.  
  933.   If you are curious, and wish to know more, look in the ecc.c and ecc.h
  934.   files, for an explanation of the code and a reference to a textbook on
  935.   Reed-Solomon codes.
  936.  
  937.   <from the Ftape-Howto>
  938.  
  939.  
  940.   3.14.  Where can I find the tar/mt/cpio/dd binaries - sources - man¡
  941.   pages?
  942.  
  943.  
  944.   All of these tools have been developed by the GNU project, and the
  945.   source (and man page) can be fetched from just-about any ftp site in
  946.   the world (including ftp.funet.fi, tsx-11.mit.edu, and
  947.   sunsite.unc.edu).  In any case they can be fetched from the official
  948.   GNU home site: prep.ai.mit.edu [18.71.0.38]:/pub/gnu.  The latest
  949.   versions (as of September 12 1996) are:
  950.  
  951.  
  952.  
  953.        cpio:   2.4.2 (cpio-2.4.2.tar.gz)
  954.        dd:     3.13 (fileutils-3.13.tar.gz)
  955.        mt:     2.4.2 (cpio-2.4.2.tar.gz)
  956.        tar:    1.11.8 (tar-1.11.8.tar.gz)
  957.        gzip:   1.2.4 (gzip-1.2.4.tar.gz)
  958.  
  959.  
  960.  
  961.  
  962.   They all compile out of the box on Linux v1.0.4 / libc v4.5.19 / gcc
  963.   v2.5.8.
  964.  
  965.   <from the Ftape-Howto>
  966.  
  967.  
  968.   3.15.  If I use tapers compression, is it a bad idea to use the com¡
  969.   pression with zftape, or would it be better to not use tapers compres¡
  970.   sion, and let zftape do it?
  971.  
  972.  
  973.   It is not bad as such to compress data twice (which would be the case
  974.   when using tapers compression together with zftape's compression) but
  975.   it doesn't make any sense. You won't gain much further compression,
  976.   but only waste CPU cycles.
  977.  
  978.   Tapers compression should be quite safe, as taper compresses single
  979.   files; in contrast to tar -czf ... which makes the entire data stream
  980.   a large compressed block of data, which is really a bad thing with
  981.   serious backups as a single bad byte at the beginning of the archive
  982.   can make the entire archive unusable, well, it will be at least quite
  983.   difficult to recover.
  984.  
  985.   <Answer from Claus Heine>
  986.  
  987.  
  988.  
  989.  
  990.  
  991.   3.16.  How does zftape compression compare to say gzip -9?
  992.  
  993.  
  994.   gzip -9 is better (i.e. one gains higher compression). zftape's
  995.   compression is comparable with the Un*x compress program, but should
  996.   be faster, and is faster than gzip.
  997.  
  998.   <Answer from Claus Heine>
  999.  
  1000.  
  1001.   3.17.  I don't trust compression, but hear that the sftape interface
  1002.   is going away. What should I do?
  1003.  
  1004.  
  1005.   Use the zftape interface, but don't load the zft-compressor module.
  1006.   The device then becomes /dev/qft0.
  1007.  
  1008.   <answer from Tim Jones>
  1009.  
  1010.  
  1011.   3.18.  Ftape says "This tape has no 'Linux raw format"
  1012.  
  1013.  
  1014.   You get this complaint if you haven't erased your freshly formatted
  1015.   tape.  This is because Ftape expect a "magic header" on the tape, to
  1016.   be able that it is allowed to interpret the header segment in its own
  1017.   way (eg: file marks).  To remove the problem, say
  1018.  
  1019.   mt -f /dev/nftape erase
  1020.  
  1021.  
  1022.  
  1023.   <from the Ftape-Howto>
  1024.  
  1025.  
  1026.   3.19.  Can I exchange tapes with someone using DOS?
  1027.  
  1028.  
  1029.   No.  The DOS software conforms to the QIC-80 specs about the layout of
  1030.   the DOS filesystem, and it should(?)  be a small problem to write a
  1031.   program that can read/write the DOS format.  In fact, I'd bet that
  1032.   creating a nice user interface would be a bigger problem.
  1033.  
  1034.   <From the Ftape-Howto>
  1035.  
  1036.  
  1037.   3.20.  How does `mt eom' work when you've started overwriting a tape
  1038.   in the middle?
  1039.  
  1040.  
  1041.   (EOM is "End Of recorded Media", the position right after all data
  1042.   already recorded to the tape)
  1043.  
  1044.   One cannot use tape "files" like files on an ordinary file system.
  1045.  
  1046.   In principle, a tape doesn't allow anything but appending new data at
  1047.   EOM.  However, if one positiones just in the middle of the already
  1048.   recorded data AND starts writing, then the driver first deletes all
  1049.   following files (thus moving the EOM to the actual position) and then
  1050.   starts writing.
  1051.  
  1052.   Thus, the new EOM after finishing the write process, is then after the
  1053.   newly recorded data.
  1054.  
  1055.   One of the consequences of the above is, of course, that writing to
  1056.   the tape in the middle of the already recorded area, is destructive in
  1057.   the sense, that it not only overwrites the "file" the tape is
  1058.   positioned at, but also deletes all following files.
  1059.  
  1060.   <from the Ftape-Howto> <Answer from Claus Heine>
  1061.  
  1062.  
  1063.   3.21.  When I made backups before using taper, under the 2.0.29 ftape
  1064.   my drive didn't support fsf, under the new zftape it does, why would
  1065.   this be, and what exactly is fsf ?
  1066.  
  1067.  
  1068.   It probably didn't work before because you didn't use a
  1069.  
  1070.  
  1071.        mt -f /dev/rft0 erase
  1072.  
  1073.  
  1074.  
  1075.  
  1076.   before writing data to the cartridge. THIS ISN'T necessary any more.
  1077.  
  1078.   But, hey, what does mt fsf? Tape drives don't store files in the sense
  1079.   that you can use
  1080.  
  1081.   cp somefile /dev/my_what_ever_tape
  1082.  
  1083.  
  1084.   or be able to mount the tape drive like you could mount a harddisk.
  1085.   You can't do nothing with a tape drive but write data to it in a
  1086.   sequential manner.
  1087.  
  1088.   As this is quite inconvenient, somebody invented something which is
  1089.   known under the name file mark or eof mark (eof == End Of File). Those
  1090.   marks don't separate files that have been backed up to the tape
  1091.   device, but only separate blocks of data (whatever data that might
  1092.   be).
  1093.  
  1094.   Normally, the kernel tape device drivers take care of writing file
  1095.   marks when the tape device is closed, i.e.
  1096.  
  1097.  
  1098.        tar -cf /dev/nqft0 /bin
  1099.        tar -cf /dev/nqft0 /etc
  1100.        mt -f /dev/nqft0 rewind
  1101.  
  1102.  
  1103.  
  1104.  
  1105.   would result in a backup of all files under /bin and /etc. When the
  1106.   first tar finishes, the kernel driver will take care of writing a file
  1107.   mark to the tape at the the current tape position, and when the second
  1108.   tar process has finished, another file mark is written to the tape
  1109.   cartridge at that position.
  1110.  
  1111.   Now, the sense of those file marks is, that it is possible to skip
  1112.   between different archives on the tape more quickly than would be
  1113.   possible with reading the data back.
  1114.  
  1115.   The commands to do that are:
  1116.  
  1117.      mt fsf
  1118.         fast skip to the next file mark towards EOT (End Of Tape)
  1119.  
  1120.      mt bsf
  1121.         fast skip to the next file marks towards BOT (Begin Of Tape)
  1122.  
  1123.   Thus, to extract the second archive in the example above, one doesn't
  1124.   need to read the first archive back, but can proceed as follows:
  1125.  
  1126.  
  1127.        mt -f /dev/nqft0 rewind
  1128.        mt -f /dev/nqft0 fsf
  1129.        tar -xvf /dev/nqft0
  1130.  
  1131.  
  1132.  
  1133.  
  1134.   <Answer from Claus Heine>
  1135.  
  1136.  
  1137.   3.22.  What exactly is the difference between ftape, and zftape?
  1138.  
  1139.  
  1140.   When Ftape was young there were two versions of the floppy tape
  1141.   driver, one of them was called zftape because of its built-in user-
  1142.   transparent on-the-fly compression. Whether such a thing is a feature
  1143.   or a bug ('cause this needn't be done in kernel space) is another
  1144.   question. However, the ioctl interface and file mark handling provided
  1145.   by zftape was much better and had less bugs. And zftape allows to use
  1146.   floppy tape cartridges with different OS. Well, you can't exchange
  1147.   data, but zftape won't overwrite volumes created by your Windoze
  1148.   program, and vice versa.
  1149.  
  1150.   Nowadays, Ftape is name of the entire floppy tape driver package AND
  1151.   ftape.o is the file-name of the kernel module that implements the low-
  1152.   level hardware support. zftape has ceased to exist as a separate
  1153.   package, but the new Ftape versions (since ftape-3.00) contain a
  1154.   zftape.o module that needs to be loaded on top of ftape.o (i.e. you
  1155.   need to load BOTH modules to be able to access your floppy tape drive)
  1156.   and implements the file system interface and the advanced (?) features
  1157.   of the previous verions zftape.
  1158.  
  1159.   <Answer from Claus Heine>
  1160.  
  1161.  
  1162.   3.23.  What is the difference between a rewinding, and non rewinding
  1163.   drive?
  1164.  
  1165.  
  1166.   Well, the rewinding tape devices rewind the tape to BOT (Begin Of
  1167.   Tape) when the device is closed, i.e.
  1168.  
  1169.  
  1170.        tar -cvf /dev/qft0 /bin
  1171.  
  1172.  
  1173.  
  1174.  
  1175.   will rewind the tape cartridge when the tar job has finished. In con¡
  1176.   trast,
  1177.  
  1178.  
  1179.        tar -cvf /dev/nqft0 /bin
  1180.  
  1181.  
  1182.  
  1183.  
  1184.   will NOT rewind the tape cartridge and leave the tape R/W head at its
  1185.   current position.
  1186.  
  1187.   Rewinding devices should be used when performing a single backup, non-
  1188.   rewinding devices can be useful when doing multiple backups as one
  1189.   doesn't need to space to EOM (End Of recorded Media) before appending
  1190.   another archive.
  1191.  
  1192.   Non-rewinding devices MUST be used when sending any of the tape motion
  1193.   command to the tape drive, such as
  1194.  
  1195.  
  1196.        mt -f /dev/nqft0 fsf
  1197.  
  1198.  
  1199.  
  1200.  
  1201.   , because when the mt process finishes then the tape device is closed
  1202.   which would result in rewinding the cartridge with the rewinding
  1203.   devices.
  1204.  
  1205.   <Answer from Claus Heine>
  1206.  
  1207.  
  1208.   3.24.  Can someone tell me how to use mt to rewind my TR-3 drive one
  1209.   record using zftape record, so I can verify it?
  1210.  
  1211.  
  1212.   Well, it depends. If the tape is still positioned inside the volume
  1213.   just written, "mt bsf 1" (or equivalently "mt bsf") will backspace
  1214.   just to the beginning of that volume (this is how "tar --verify"
  1215.   works). If the tape is already positioned AFTER the filemark that
  1216.   marks the end of the last written volume, then you need to issue "mt
  1217.   bsf 2"
  1218.  
  1219.   The logic behind this is as follows: "MTBSF count" backspaces over
  1220.   count file marks, stops, and then positions on the EOT side of the
  1221.   last skipped file mark. This means, an "mt bsf 2" will position right
  1222.   at the beginning of the previous volume.
  1223.  
  1224.   <answer form Claus Heine>
  1225.  
  1226.  
  1227.   3.25.  By non-rewinding, they mean that it doesn't automatically
  1228.   rewind, correct? It doesn't mean that under no circumstances it will
  1229.   rewind, right?  I tried using /dev/zqft0, and it instantly rewinds the
  1230.   tape.
  1231.  
  1232.  
  1233.   You are right: auto-rewind means, the tape is rewound when the tape
  1234.   device is closed, non-rewinding  means, the tape isn't automatically
  1235.   rewound when the tape device is closed (but you can, of course, use
  1236.   the tape motion commands BSF/FSF etc. to position the tape head at
  1237.   every position you like).
  1238.  
  1239.   <answer form Claus Heine>
  1240.  
  1241.  
  1242.   3.26.  What is the difference between what mt considers a record and
  1243.   what it considers a file?
  1244.  
  1245.  
  1246.   A record is the minimal amount of bytes that will be accepted by the
  1247.   tape in one read/write operation (except in "variable block size mode"
  1248.   where it just should be the amount of data actually written in a
  1249.   single write operation??).
  1250.  
  1251.   For zftape every read and write access has to be a multiple of a fixed
  1252.   block size (fixed, but tunable with MTSETBLK). This block size is a
  1253.   "tape record" (as mentioned in the GNU mt man page and defaults to
  1254.   10kb for zftape.
  1255.   A "file" (in the sense of the mt man page) is a, well, misleading
  1256.   terminus. What is meant is an area of the tape between two file marks.
  1257.   This is not a file like a file on the file system, in the sense that
  1258.   it could have a name, file access modes, could be moved or copied with
  1259.   cp, mv, rm etc.
  1260.  
  1261.   Instead, It simply is the area of the tape that was recorded in one
  1262.   backup session, its end is marked by a tape file mark, and its
  1263.   beginning is delimited by either BOT or the file mark of the previous
  1264.   tape "file". That tape "files" are the things that can be skipped with
  1265.   the MTBSF/FSF commands.
  1266.  
  1267.   <answer form Claus Heine>
  1268.  
  1269.  
  1270.   3.27.  Reusing tapes with zftape without reformatting the tape.
  1271.  
  1272.  
  1273.   We try to answer the followong questions :
  1274.  
  1275.   ╖  Is there a good way to erase, as in remove the data or at least the
  1276.      volumes from a tape, without reformating?
  1277.  
  1278.   ╖  Can you overwrite the last volume on a tape with making a mess out
  1279.      of it?
  1280.  
  1281.   ╖  Can you overwrite the last several volumes without making a mess?
  1282.  
  1283.   ╖  Can you delete the last volume?
  1284.  
  1285.   If you want to "erase" an entire cartridge, then simply do:
  1286.  
  1287.  
  1288.  
  1289.        mt -f /dev/qft0 erase
  1290.  
  1291.  
  1292.  
  1293.  
  1294.   This will erase the volume table (i.e. the "file marks").
  1295.  
  1296.   Pre-ftape-3.x releases of zftape and ftape used to allow overwriting
  1297.   of already existing volumes on a cartridge. I have removed this
  1298.   feature as it was reported that it already has caused data-loss with
  1299.   some backup programs.
  1300.  
  1301.   If you indeed need to remove some volumes on the tape then you should
  1302.   use the
  1303.  
  1304.  
  1305.  
  1306.        vtblc
  1307.  
  1308.  
  1309.  
  1310.  
  1311.   program that comes with the ftape-tools package which can be down-
  1312.   loaded from the same locations as the ftape kernel driver package.
  1313.   Please refer to the documentation which is contained in the ftape-
  1314.   tools package for more information.
  1315.  
  1316.   If you simply want to reuse old tapes, then it suffices to do
  1317.  
  1318.  
  1319.  
  1320.  
  1321.   mt rewind
  1322.  
  1323.  
  1324.  
  1325.  
  1326.   If the tape is at BOT (Begin Of Tape) then every write access to the
  1327.   tape will silently erase all file marks and overwrite the data already
  1328.   existing on the tape.
  1329.  
  1330.   <answer by Claus Heine>
  1331.  
  1332.  
  1333.   3.28.  This script implements a simple contents listing for the zftape
  1334.   package using the "MTIOCVOLINFO" ioctl.
  1335.  
  1336.  
  1337.   Here is as little perl/bash script that lists the contents of a
  1338.   cartridge using the zftape specific "volinfo" ioctl. Hope this shows
  1339.   how to handle this kind of stuff.
  1340.  
  1341.   What it basically does is the following:
  1342.  
  1343.  
  1344.   1. Rewind the cartridge
  1345.  
  1346.   2. Issue the volinfo command:
  1347.  
  1348.  
  1349.           claus@thales:~$ mt volinfo
  1350.           file number          = 1
  1351.           block size           = 10240
  1352.           physical space used  =  522.0 kilobytes
  1353.           real size of volume  =  520.0 kilobytes
  1354.  
  1355.  
  1356.  
  1357.  
  1358.   Parse the ouput and place the values in appropriate variables
  1359.  
  1360.   3. Skip to the next volume with "mt fsf"
  1361.  
  1362.   4. Exit if this gives an error (EOD), otherwise "goto 2)"
  1363.  
  1364.   The Perl Script
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.   #!/usr/bin/perl
  1388.   #
  1389.   #     Copyright (C) 1997 Claus-Justus Heine
  1390.   #
  1391.   # This program is free software; you can redistribute it and/or modify
  1392.   # it under the terms of the GNU General Public License as published by
  1393.   # the Free Software Foundation; either version 2, or (at your option)
  1394.   # any later version.
  1395.   #
  1396.   # This program is distributed in the hope that it will be useful,
  1397.   # but WITHOUT ANY WARRANTY; without even the implied warranty of
  1398.   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1399.   # GNU General Public License for more details.
  1400.   #
  1401.   # You should have received a copy of the GNU General Public License
  1402.   # along with this program; see the file COPYING.  If not, write to
  1403.   # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  1404.   #
  1405.   #   This script implements a simple contents listing for the zftape
  1406.   #   package using the MTIOCVOLINFO ioctl.
  1407.   #
  1408.  
  1409.   $version = <<EOT;
  1410.   listtape-1.0 -- a perl script to list the contents of a floppy tape cartridge
  1411.   under Linux using the zftape driver
  1412.  
  1413.   RCS \$Revision: 1.2 $
  1414.   RCS \$Date: 1998/08/30 13:43:28 $
  1415.   EOT
  1416.  
  1417.   $tapedev = "/dev/tape";
  1418.   $usage = <<EOT;
  1419.   Usage: listtape [options ...]
  1420.  
  1421.   Mandatory or optional arguments to long options are mandatory or optional
  1422.   for short options too.
  1423.  
  1424.   -f, --file=FILE       Tape device to use. Default is  "/dev/tape".
  1425.   -h, --help            Print this help.
  1426.   -?                    Same as '-h'.
  1427.   --usage           Same as '-h'.
  1428.   -V, --version         Print version information.
  1429.  
  1430.   Author: Claus-Justus Heine <claus\@momo.math.rwth-aachen.de>
  1431.   EOT
  1432.  
  1433.   while ($ARGV[0] =~ /^-/) {
  1434.   $_ = shift;
  1435.   if (/--file/) {$_ = shift; $tapedev = $_; next;}
  1436.   if (/-f/) {$_ = shift; $tapedev = $_; next;}
  1437.   if (/--help/) { print $usage; exit 0; }
  1438.   if (/-h/) { print $usage; exit 0; }
  1439.   if (/--usage/) { print $usage; exit 0; }
  1440.   if (/-\?/) { print $usage; exit 0; }
  1441.   if (/--version/) { print $version; exit 0; }
  1442.   if (/-V/) { print $version; exit 0; }
  1443.   die $usage;
  1444.   }
  1445.  
  1446.   &open_tape($tapedev, "status");
  1447.   while(<FTMT>)
  1448.   {
  1449.   $online = 1 if (/.*online.*/);
  1450.   }
  1451.  
  1452.   if (! $online) { die "No cartridge present.\n"; }
  1453.   &mtop($tapedev, "rewind");
  1454.  
  1455.   printf "%11s%12s%20s%20s\n",
  1456.   "file number", "block size", "volume size", "tape space";
  1457.  
  1458.   while (1)
  1459.   {
  1460.   &open_tape($tapedev, "volinfo");
  1461.   while (<FTMT>) {
  1462.   if (/^file number\s*=\s*([0-9]*)$/) { $filenumber = $1; }
  1463.   if (/^block size\s*=\s*([0-9]*)$/) { $blocksize = $1; }
  1464.   if (/^physical space used\s*=\s*([[0-9]*.*)/) { $rawsize = $1; }
  1465.   if (/^real size of volume\s*=\s*([[0-9]*.*)/) { $size = $1; }
  1466.   }
  1467.   close(FTMT);
  1468.   if (&mtop($tapedev, "fsf 1") != 0) {
  1469.   &mtop($tapedev,"rewind");
  1470.   print "\nRemaining space: $rawsize\n";
  1471.   print "Tape block size: $blocksize\n";
  1472.   exit 0;
  1473.   }
  1474.   printf "%6d          %5d  %20s%20s\n",
  1475.       $filenumber, $blocksize, $size, $rawsize;
  1476.   }
  1477.  
  1478.   sub mtop
  1479.   {
  1480.   local ($tape, $operation) = @_;
  1481.   local ($exitval);
  1482.   system "ftmt -f $tape $operation > /dev/null 2>&1";
  1483.   }
  1484.  
  1485.   sub open_tape
  1486.   {
  1487.   local ($tape, $operation) = @_;
  1488.   local ($command);
  1489.  
  1490.   $command = "ftmt -f " . $tape . " " . $operation . " |";
  1491.   open(FTMT, $command) || die "Couldn't open $command -- $!\n";
  1492.   }
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.   The Bash Script
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.   ______________________________________________________________________
  1520.  
  1521.   #! /bin/bash
  1522.   #
  1523.   #     Copyright (C) 1997 Claus-Justus Heine
  1524.   #
  1525.   # This program is free software; you can redistribute it and/or modify
  1526.   # it under the terms of the GNU General Public License as published by
  1527.   # the Free Software Foundation; either version 2, or (at your option)
  1528.   # any later version.
  1529.   #
  1530.   # This program is distributed in the hope that it will be useful,
  1531.   # but WITHOUT ANY WARRANTY; without even the implied warranty of
  1532.   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1533.   # GNU General Public License for more details.
  1534.   #
  1535.   # You should have received a copy of the GNU General Public License
  1536.   # along with this program; see the file COPYING.  If not, write to
  1537.   # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  1538.   #
  1539.   #   This script implements a simple contents listing for the zftape
  1540.   #   package using the MTIOCVOLINFO ioctl.
  1541.   #
  1542.  
  1543.   #
  1544.   # insert better option parsing here
  1545.   #
  1546.   TAPEDEV=${1-/dev/tape}
  1547.  
  1548.   if ! echo $TAPEDEV | grep "/dev/n"
  1549.   then
  1550.   TAPEDEV=/dev/n$(basename $TAPEDEV)
  1551.   fi
  1552.  
  1553.   if ! [ -c $TAPEDEV ]
  1554.   then
  1555.   echo $TAPEDEV is not a character device!  1>&2
  1556.   exit 1
  1557.   fi
  1558.  
  1559.   if ! mt -f $TAPEDEV rewind
  1560.   then
  1561.   echo Could not rewind $TAPEDEV - no cartridge present?  1>&2
  1562.   exit 1
  1563.   fi
  1564.  
  1565.   echo -e "\nContents of $TAPEDEV:\n"
  1566.  
  1567.   printf "%11s%12s%20s%20s\n" "file number" "block size" "volume size" "tape space"
  1568.  
  1569.   trap "rm -f /tmp/$0.$$" exit
  1570.  
  1571.   while true
  1572.   do
  1573.   if ! foo=$(mt -f $TAPEDEV volinfo |cut -f 2 -d =)
  1574.   then
  1575.   echo $TAPEDEV doesn\'t seem to be a floppy tape device 1>&2
  1576.   exit 1
  1577.   fi
  1578.   #
  1579.   # "echo foo | read foo" will not work as the "read foo" is executed in
  1580.   # another shell.
  1581.   #
  1582.   echo $foo > /tmp/$0.$$
  1583.   read file blksz used usedunit size sizeunit < /tmp/$0.$$
  1584.   if ! mt -f $TAPEDEV fsf 1 > /dev/null 2>&1
  1585.   then
  1586.   echo -e "\nRemaining space: $used $usedunit"
  1587.   echo -e "Tape block size: $blksz"
  1588.   if ! mt -f $TAPEDEV rewind
  1589.   then
  1590.       echo Rewind of $TAPEDEV failed 1>&2
  1591.       exit 1
  1592.   fi
  1593.   exit 0
  1594.   fi
  1595.   printf "%6d          %5d  %20s%20s\n"\
  1596.   $file $blksz "$size $sizeunit" "$used $usedunit"
  1597.   done
  1598.   ______________________________________________________________________
  1599.  
  1600.  
  1601.  
  1602.   <answer from Claus Heine>
  1603.  
  1604.  
  1605.   4.  "Tape and Drivers" related questions !
  1606.  
  1607.  
  1608.  
  1609.   4.1.  What are good makers of Travan tapes?
  1610.  
  1611.  
  1612.   I was the UNIX Product Manager at Archive Corp (Prior to the
  1613.   Conner/Seagate mess) and we performed extensive tests of tape media
  1614.   for compatibility certification, including retentivity, flaking and
  1615.   length consistancy.  Based on the results of the tests, we selected
  1616.   the best of these certified manufacturers' products to private label
  1617.   as our own media.  Here is the order in which we selected vendors up
  1618.   through 1995 (when I lost contact with the ATI group):
  1619.  
  1620.  
  1621.      QIC
  1622.  
  1623.         1. 3M (now known as Imation)
  1624.  
  1625.         2. QMaxell/Sony (tie)
  1626.  
  1627.         3. (BTW - Iomega uses Sony private-labelled media)
  1628.  
  1629.      4MM
  1630.  
  1631.         1. Fuji
  1632.  
  1633.         2. Maxell/Sony (tie - is this a trend?)
  1634.  
  1635.      8MM
  1636.  
  1637.         1. Fuji/Exabyte - which we believed to be OEM'd Fuji (tie - so
  1638.            much for trend!)
  1639.  
  1640.         2. Sony
  1641.  
  1642.         3. Maxell
  1643.  
  1644.      DLT
  1645.  
  1646.         1. Maxell
  1647.  
  1648.         2. Sony
  1649.  
  1650.  
  1651.   Otherwise, we had entries in our search from other vendors which were
  1652.   generally a private-labelled version of one of the major labels above.
  1653.   The exceptions were Verbatim and DIC.  Both of these manufacturer's
  1654.   media had fall-out rates and length discrepancies that were so high
  1655.   that we would not certify them and even warned customers about them
  1656.   indicating that we could not offer any sort of guarantee that they
  1657.   would get a good backup using the media from these manufacturers.
  1658.  
  1659.   In addition, since coming to EST, I've found that Verbatim media is
  1660.   still not worth the money saved in purchasing it.  We have 11 of their
  1661.   TR-Extra and QIC-Extra (QICXL) tapes that were useless after fewer
  1662.   than 20 passes each.
  1663.  
  1664.   While this is my personal opinion, it is based on over 9 years of
  1665.   experience with this very question, I strongly recommend Imation/3M
  1666.   media for QIC/Travan user, Fuji media 4MM users, Exabyte/Fuji for 8MM
  1667.   and DEC labelled media for DLT users.
  1668.  
  1669.   <answer from Tim Jones>
  1670.  
  1671.  
  1672.   4.2.  Where can I obtain the QIC standards?
  1673.  
  1674.  
  1675.   If you wish to help developing Ftape, or add some utility (e.g. a tape
  1676.   formatting program), you will need that appropriate QIC standards.
  1677.   The standard(s) to get is: QIC-80, -117, -3010, and 3020.  QIC-117
  1678.   describes how commands are sent to the tape drive (including timing
  1679.   etc), so you would probably never need it.  QIC-80/3010/3020 describes
  1680.   higher level part, such as tape layout, ECC code, standard filesystem.
  1681.   You can get the QIC standards from the following address:
  1682.  
  1683.  
  1684.  
  1685.        Quarter Inch Cartridge Drive Standards, Inc.
  1686.        311 East Carrillo Street
  1687.        Santa Barbara, California 93101
  1688.        Phone: (805) 963-3853
  1689.        Fax:   (805) 962-1541
  1690.  
  1691.  
  1692.  
  1693.  
  1694.   Note: They are registered as `Freeman Associates, Inc' in the phone
  1695.   book.
  1696.  
  1697.   <from the Ftape-Howto>
  1698.  
  1699.  
  1700.   4.3.  Is the Iomega Ditto 2GB drive supported?
  1701.  
  1702.  
  1703.   Yes, if you are using version ftape-3.x or later of the Ftape drivers
  1704.   from the Ftape Home Page or from
  1705.   ftp://sunsite.unc.edu/pub/Linux/kernel/tapes.
  1706.  
  1707.   <answer from Tim Jones>
  1708.  
  1709.   As the Ditto 2GB is a Tr-3 tape (though it can only store 1GB instead
  1710.   of the 1.6GB you get with a regular Tr-3 drive) you need an FDC (FDC
  1711.   means: Floppy Disk Controller) that is capable of at 1Mbit/sec
  1712.   transfer rate. You don't need to worry about this if you have an
  1713.   accellerator card (i.e. the Ditto Dash controller). Otherwise try to
  1714.   purchase an FDC that claims to be capable of driving 2.88Mb floppies
  1715.   because this implies that the FDC is capable of 1Mbit transfer rate.
  1716.  
  1717.   Ftape prints the maximum data rate of the FDC to the kernel log files
  1718.   like this:
  1719.  
  1720.   ftape-ctl.c (ftape_init_drive) - Highest FDC supported data rate: 500 Kbps.
  1721.  
  1722.  
  1723.  
  1724.   <answer from Claus Heine>
  1725.  
  1726.  
  1727.   4.4.  Is the Iomega Ditto Max drive supported?
  1728.  
  1729.  
  1730.   Yes, if you are using version ftape-4.02 or later of the Ftape drivers
  1731.   from the Ftape Home Page or from
  1732.   ftp://sunsite.unc.edu/pub/Linux/kernel/tapes.
  1733.  
  1734.   <answer from Claus Heine>
  1735.  
  1736.  
  1737.   4.5.  Is the Iomega Ditto Max Pro drive supported?
  1738.  
  1739.  
  1740.   Yes. But if you want to use the 5GB (10GB with compression) cartridges
  1741.   you don't need it. With ftape there doesn't seem to be any difference
  1742.   between the Ditto Max and the Ditto Max Pro.
  1743.  
  1744.   <answer from Claus Heine>
  1745.  
  1746.  
  1747.   5.  Miscellaneous !
  1748.  
  1749.  
  1750.  
  1751.   5.1.  How to subscribe to the Ftape Mailing List?
  1752.  
  1753.  
  1754.   You can subscribe to that list by sending mail to
  1755.  
  1756.  
  1757.        majordomo@vger.rutgers.edu
  1758.  
  1759.  
  1760.  
  1761.  
  1762.   with the single line
  1763.  
  1764.  
  1765.        subscribe linux-tape
  1766.  
  1767.  
  1768.  
  1769.  
  1770.   in its body. Please store the answer you get from majordomo in a safe
  1771.   place because it contains instructions how to UNSUBSCRIBE from the
  1772.   mailing list.
  1773.  
  1774.   <answer from Claus Heine>
  1775.  
  1776.  
  1777.   5.2.  How to un-subscribe from the Ftape Mailing List?
  1778.  
  1779.  
  1780.   Send mail to
  1781.  
  1782.  
  1783.   majordomo@vger.rutgers.edu
  1784.  
  1785.  
  1786.  
  1787.  
  1788.   with the single line
  1789.  
  1790.  
  1791.        unsubscribe linux-tape MY@EMAIL.ADDRESS
  1792.  
  1793.  
  1794.  
  1795.  
  1796.   where MY@EMAIL.ADDRESS has to be replaced by the the email address
  1797.   that you used when subscribing to the list. Note that you must have
  1798.   received an email with instructions how to unsubscribe from the mail¡
  1799.   ing list at the time you subscribed to it.
  1800.  
  1801.   <answer from Claus Heine>
  1802.  
  1803.  
  1804.   5.3.  Links to related information.
  1805.  
  1806.  
  1807.  
  1808.   <http://www.uwsg.indiana.edu/usai/library/backups.html>
  1809.  
  1810.   More links wanted !!!
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.