![Linus Torvalds](/assets/img/avatar_default.png)
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
967 lines
42 KiB
Plaintext
967 lines
42 KiB
Plaintext
Hey, Emacs, we're -*-Text-*- mode!
|
|
|
|
===== Release notes for ftape-3.04d 25/11/97 =====
|
|
- The correct pre-processor statement for "else if" is "#elif" not
|
|
"elsif".
|
|
- Need to call zft_reset_position() when overwriting cartridges
|
|
previously written with ftape-2.x, sftape, or ancient
|
|
(pre-ftape-3.x) versions of zftape.
|
|
|
|
===== Release notes for ftape-3.04c 16/11/97 =====
|
|
- fdc_probe() was calling DUMPREGS with a result length of "1" which
|
|
was just fine. Undo previous change.
|
|
|
|
===== Release notes for ftape-3.04b 14/11/97 =====
|
|
|
|
- patches/2.x.x/floppy.c.diff was somewhat broken, releasing i/o
|
|
regions it never had allocated.
|
|
- fdc_probe() was calling DUMPREGS with a result length of "1" instead
|
|
of "10"
|
|
- Writing deleted data marks if the first segents on track zero are
|
|
should work now.
|
|
- ftformat should now be able to handle those cases where the tape
|
|
drive sets the read only status bit (QIC-40/80 cartridges with
|
|
QIC-3010/3020 tape drives) because the header segment is damaged.
|
|
- the MTIOCFTCMD ioctl may now be issued by the superuser ONLY.
|
|
|
|
===== Release notes for ftape-3.04a 12/11/97 =====
|
|
- Fix an "infinite loop can't be killed by signal" bug in
|
|
ftape_get_drive_status(). Only relevant when trying to access
|
|
buggy/misconfigured hardware
|
|
- Try to compensate a bug in the HP Colorado T3000's firmware: it
|
|
doesn't set the write protect bit for QIC80/QIC40 cartridges.
|
|
|
|
===== Release notes for ftape-3.04 06/11/97 =====
|
|
- If positioning with fast seeking fails fall back to a slow seek
|
|
before giving up.
|
|
- (nearly) no retries on "no data errors" when verifying after
|
|
formatting. Improved tuning of the bad sector map after formatting.
|
|
- the directory layout has changed again to allow for easier kernel
|
|
integration
|
|
- Module parameter "ftape_tracing" now is called "ft_tracing" because
|
|
the "ftape_tracing" variable has the version checksum attached to it.
|
|
- `/proc/ftape' interface for 2.0.* kernels. `/proc/ftape' no longer
|
|
is a directory but a file that contains all the information formerly
|
|
provided in separate files under the `/proc/ftape/' directory.
|
|
- Most of the configuration options have been prefixed by "CONFIG_FT_"
|
|
in preparation of the kernel inclusion. The Makefiles under
|
|
"./ftape/" should be directly usable by the kernel.
|
|
- The MODVERSIONS stuff is now auto-detected.
|
|
- Broke backslashed multi line options in MCONFIG into separate lines
|
|
using GNU-make's "+=" feature.
|
|
- The html and dvi version of the manual is now installed under
|
|
'/usr/doc/ftape` with 'make install`
|
|
- New SMP define in MCONFIG. ftape works with SMP if this is defined.
|
|
- attempt to cope with "excessive overrun errors" by gradually
|
|
increasing FDC FIFO threshold. But this doesn't seem to have too
|
|
much an effect.
|
|
- New load time configuration parameter "ft_fdc_rate_limit". If you
|
|
encounter too many overrun errors with a 2Mb controller then you
|
|
might want to set this to 1000.
|
|
- overrun errors on the last sector in a segment sometimes result in
|
|
a zero DMA residue. Dunno why, but compensate for it.
|
|
- there were still fdc_read() timeout errors. I think I have fixed it
|
|
now, please FIXME.
|
|
- Sometimes ftape_write() failed to re-start the tape drive when a
|
|
segment without a good sector was reached ("wait for empty segment
|
|
failed"). This is fixed. Especially important for > QIC-3010.
|
|
- sftape (aka ftape-2.x) has vanished. I didn't work on it for
|
|
ages. It is probably still possible to use the old code with
|
|
ftape-3.04, if one really needs it (BUT RECOMPILE IT)
|
|
- zftape no longer alters the contents of already existing volume
|
|
table entries, which makes it possible to fill in missing fields,
|
|
like time stamps using some user space program.
|
|
- ./contrib/vtblc/ contains such a program.
|
|
- new perl script ./contrib/scripts/listtape that list the contents of a
|
|
floppy tape cartridge parsing the output of "mt volinfo" + "mt fsf"
|
|
- the MTWEOF implementation has changed a little bit (after I had a
|
|
look at amanda). Calling MTWEOF while the tape is still held open
|
|
after writing something to the tape now will terminate the current
|
|
volume, and start a new one at the current position.
|
|
- the volume table maintained by zftape now is a doubly linked list
|
|
that grows dynamically as needed.
|
|
|
|
formatting floppy tape cartridges
|
|
---------------------------------
|
|
* there is a new user space formatting program that does most of the
|
|
dirty work in user space (auto-detect, computing the sector
|
|
coordinates, adjusting time stamps and statistics). It has a
|
|
simple command line interface.
|
|
* ftape-format.o has vanished, it has been folded into the low level
|
|
ftape.o module, and the ioctl interface into zftape.o. Most of the
|
|
complicated stuff has been moved to user space, so there was no
|
|
need for a separate module anymore.
|
|
* there is a new ioctl MTIOCFTCMD that sends a bare QIC-117 command
|
|
to the tape drive.
|
|
* there is a new mmap() feature to map the dma buffers into user
|
|
space to be used by the user level formatting program.
|
|
* Formatting of yet unformatted or totally degaussed cartridges
|
|
should be possible now. FIXME.
|
|
|
|
===== Release notes for ftape-3.03b, <forgot the exact date> ====
|
|
|
|
ftape-3.03b was released as a beta release only. Its main new feature
|
|
was support of the DITTO-2GB drive. This was made possible by reverse
|
|
engineering done by <fill in his name> after Iomega failed to support
|
|
ftape. Although they had promised to do so (this makes me feel a bit
|
|
sad and uncomfortable about Iomega).
|
|
|
|
===== Release notes for ftape-3.03a, 22/05/97 ====
|
|
|
|
- Finally fixed auto-un-loading of modules for kernels > 2.1.18
|
|
- Add an "uninstall" target to the Makefile
|
|
- removed the kdtime hack
|
|
- texi2www didn't properly set the back-reference from a footnote back
|
|
to the regular text.
|
|
|
|
zftape specific
|
|
---------------
|
|
* hide the old compression map volume. Taper doesn't accept the
|
|
presence of non-Taper volumes and Taper-written volume on the same
|
|
tape.
|
|
* EOD (End Of Data) handling was still broken: the expected behavior
|
|
is to return a zero byte count at the first attempt to read past
|
|
EOD, return a zero byte count at the second attempt to read past
|
|
EOD and THEN return -EIO.
|
|
|
|
ftape-format specific
|
|
---------------------
|
|
* Detection of QIC-40 cartridges in select_tape_format() was broken
|
|
and made it impossible to format QIC-3010/3020 cartridges.
|
|
* There are strange "TR-1 Extra" cartridges out there which weren't
|
|
detected properly because the don't strictly conform to the
|
|
QIC-80, Rev. N, spec.
|
|
|
|
===== Release notes for ftape-3.03, 30/04/97 =====
|
|
|
|
- Removed kernel integration code from the package. I plan to provide
|
|
a package that can be integrated into the stock kernel separately
|
|
(hopefully soon).
|
|
As a result, a simple `make' command now will build everything.
|
|
- ALL compile time configuration options have been moved to the file
|
|
`MCONFIG'.
|
|
- Quite a few `low level' changes to allow formatting of cartridges.
|
|
- formatting is implemented as a separate module `ftape-format.o'. The
|
|
modified `mt' program contains sample code that shows how to use it.
|
|
- The VFS interface has been moved from the `ftape.o' module to the
|
|
high level modules `zftape.o' resp. `sftape.o'. `ftape.o' contains
|
|
the hardware support only.
|
|
- A bit of /proc support for kernels > 2.1.28
|
|
- Moved documentation to Doc subdir. INSTALL now contains some real
|
|
installation notes.
|
|
- `install' target in Makefile.
|
|
|
|
zftape specific:
|
|
----------------
|
|
|
|
- zftape works for large cartridges now ( > 2^31 bytes)
|
|
- MTIOCVOLINFO and MTIOCGETSIZE now return the size in KILOBYTES,
|
|
NO LONGER in bytes.
|
|
|
|
- permissions for write access to a cartridge have changed:
|
|
* zftape now also takes the file access mode into account
|
|
* zftape no longer allows writing in the middle of the recorded
|
|
media. The tape has to be positioned at BOT or EOD for write
|
|
access.
|
|
|
|
- MTBSF has changed. It used to position at the beginning of the
|
|
previous file when called with count 1. This was different from the
|
|
expected behavior for other Un*x tape drivers (i.e. SCSI). MTBSF
|
|
with count 1 should merely position at the beginning of the current
|
|
volume. Fixed. As a result, `tar --verify' now produces the desired
|
|
result: it verifies the last written volume, not the pre-last
|
|
written volume.
|
|
|
|
- The compression map has vanished --> no need for `mt erase' any
|
|
more. Fast seeking in a compressed volume is still be possible, but
|
|
takes slightly longer. As a side effect, you may experience an
|
|
additional volume showing up in front of all others for old
|
|
cartridges. This is the tape volume that holds the compression map.
|
|
|
|
- The compression support for zftape has been moved to a separate
|
|
module `zft-compressor'. DON'T forget to load it before trying to
|
|
read back compressed volumes. The stock `zftape.o' module probes for
|
|
the module `zft-compressor' using the kerneld message channel; you
|
|
have to install `zft-compressor.o' in a place where modprobe can
|
|
find it if you want to use this.
|
|
|
|
- New experimental feature that tries to get the broken down GMT time
|
|
from user space via a kernel daemon message channel. You need to
|
|
compile and start the `kdtime' daemon contained in the contrib
|
|
directory to use it. Needed (?) for time stamps in the header
|
|
segments and the volume table.
|
|
|
|
- variable block size mode via MTSETBLK 0
|
|
|
|
- keep modules locked in memory after the block size has been changed
|
|
|
|
sftape specific:
|
|
----------------
|
|
|
|
- end of tape handling should be fixed, i.e. multi volume archives
|
|
written with `afio' can be read back now.
|
|
|
|
|
|
===== Release notes for ftape-3.02a, 09/01/97 =====
|
|
|
|
No big news:
|
|
- call zft_init() resp. sft_init() when compiling the entire stuff
|
|
into the kernel image.
|
|
- fix bug in ftape-setup.c when NO_TRACE_AT_ALL was defined.
|
|
- fix bug in sftape-eof.c/zftape-eof.c for old kernels (1.2.*)
|
|
- add support for new module interface for recent kernels
|
|
|
|
===== Release notes for ftape-3.02, 16/12/96 =====
|
|
- Fixed the `FDC unlock command failed' bug in fdc-io.c. When the FIFO
|
|
was already locked when ftape was loaded, ftape failed to unlock it.
|
|
- Fixed compilation of `contrib/gnumt'. It now finds `mtio.h' even if
|
|
ftape is NOT included into the kernel source tree.
|
|
- fc-10.c: include <asm/io.h> for inb() and outb().
|
|
- ftape/sftape/zftape: all global variable now have either a `ftape_',
|
|
a `ft_', `sft_', `zft_' or `qic_' prefix to prevent name clashes
|
|
with other parts of the kernel when including ftape into the kernel
|
|
source tree.
|
|
- Kerneld support has changed. `ftape' now searches for a module
|
|
`ftape-frontend' when none of the frontend (`sftape' or `zftape') is
|
|
loaded. Please refer to the `Installation/Loading ftape' section of
|
|
the TeXinfo manual.
|
|
- Add load resp. boot-time configuration of ftape. There are now
|
|
variables ft_fdc_base, ft_fdc_dma and ft_fdc_irq corresponding to
|
|
the former FDC_BASE etc. compile time definitions. One can also use
|
|
the kernel command line parameters to configure the driver if it is
|
|
compiled into the kernel. Also, the FC-10/FC-20 support is load-time
|
|
configurable now as well as the MACH-II hack (ft_probe_fc10,
|
|
resp. ft_mach2). Please refer to the section `Installation/Configure
|
|
ftape' of the TeXinfo manual.
|
|
- I removed the MODVERSIONS option from `Makefile.module'. Let me alone
|
|
with ftape and MODVERSIONS unless you include the ftape sources into
|
|
the kernel source tree.
|
|
- new vendors in `vendors.h':
|
|
* HP Colorado T3000
|
|
* ComByte DoublePlay (including a bug fix for their broken
|
|
formatting software, thanks to whraven@njackn.com)
|
|
* Iomega DITTO 2GIG. NOTE: this drive cannot work with ftape because
|
|
the logical data layout of the cartridges used by this drive does
|
|
NOT conform to the QIC standards, it is a special Iomega specific
|
|
format. I've sent mail to Iomega but didn't receive an answer
|
|
yet. If you want this drive to be supported by ftape, ask Iomega
|
|
to give me information about it.
|
|
- zftape:
|
|
* re-introduced the MTIOC_ZFTAPE_GETBLKSZ ioctl for compatibility
|
|
with zftape 1.06a and earlier. Please don't use it when writing
|
|
new software, use the MTIOCVOLINFO ioctl instead.
|
|
* Major overhaul of the code that updates the header segments. Never
|
|
change the tape label unless erasing the tape. Thus we almost
|
|
never need to write the header segments, unless we would modify
|
|
the bad sector map which isn't done yet. Updating of volume table
|
|
and compression map more secure now although it takes a bit
|
|
longer.
|
|
* Fixed bug when aborting a write operation with a signal: zftape
|
|
now finishes the current volume (i.e. writes an eof marker) at the
|
|
current position. It didn't before which led to somehow *strange*
|
|
behavior in this cases.
|
|
* Keep module locked in memory when using it with the non-rewinding
|
|
devices and the tape is not logical at BOT. Needed for kerneld
|
|
support.
|
|
- sftape:
|
|
* Keep module locked in memory when using it with the non-rewinding
|
|
devices and the tape is not logical at BOT. Needed for kerneld
|
|
support.
|
|
|
|
===== Release notes for ftape-3.01, 14/11/96 =====
|
|
|
|
- Fixed silly bugs in ftape-3.00:
|
|
* MAKEDEV.ftape: major device number must be 27, not 23
|
|
* sftape/sftape-read.c: sftape_read_header_segments() called
|
|
itself recursively instead of calling ftape_read_header_segment()
|
|
* zftape/qic-vtbl.h: conversion of ftape's file marks to zftape's
|
|
internal volume table was broken.
|
|
* patches/2.x.x/linux-2.0.21.dif: my RCS (resp. CVS) system replaced
|
|
the `$Revison:' etc. macros in the `ftape.h' concerning part of the
|
|
patch :-( Fixed.
|
|
* info/ftape.info: Fixed misspellings (`cp' <-> `cp -r' etc.)
|
|
* when ftape/sftape or ftape/zftape was compiled into the kernel the
|
|
variable ftape_status was declared twice. Fixed.
|
|
* removed reference to undeclared variable kernel_version when not
|
|
compiling as module
|
|
* fixed a bug introduced by the use of bit-fields for some flags
|
|
(i.e. write_protected, no_cartridge, formatted)
|
|
* flag `header_read' is now reset correctly to zero when tape is
|
|
removed.
|
|
- fixed a bug in sftape/sftape-eof.c that was already in the original
|
|
ftape code. MTFSF/BSF was not handled correctly when positioned
|
|
right before the file mark (think of tar)
|
|
- Changed TRACE macros (following a suggestion of Marcin Dalecki) to use
|
|
the predefined __FUNCTION__ macro of GCC. Spares about 4k of code.
|
|
- added new vendor id for Iomega DITTO 2GIG
|
|
- fixed a bug already present in zftape-1.06 when aborting a write
|
|
with a signal: we now finish the current volume at that
|
|
position. Header segments remain NOT up to date until an explicit call
|
|
to MTREW or MTOFFL is done.
|
|
|
|
===== Release notes for ftape-3.00, 14/10/96 =====
|
|
|
|
- Merged ftape with zftape. There are three modules now:
|
|
ftape for the hardware support, sftape for the implementation of the
|
|
original ftape eof mark stuff and zftape that implements zftape's way
|
|
of handling things (compression, volume table, tape blocks of
|
|
constant length)
|
|
- Documentation in TeXinfo format in the `info' subdirectory.
|
|
- New ioctls for zftape. See zftape/zftape.h
|
|
- Dummy formatting ioctl for ftape. See ftape.h
|
|
- Kernel patch files for the 2.*.* series to include ftape-3.00 in the
|
|
kernel source tree. These includes a kernel compatible Config.in
|
|
script and fairly large online information for the kernel configure
|
|
script.
|
|
- Support for compiling with Linux-1.2.13.
|
|
- Modified GNU mt from their cpio package that can handle the new
|
|
ioctls.
|
|
- ftape/sftape/zftape is kerneld save now!
|
|
|
|
Notes on sftape:
|
|
- sftape implements the eof handling code of the original ftape. If
|
|
you like to stick with the original ftape stuff, you have to use
|
|
this module, not zftape.
|
|
- sftape is kerneld save, unlike the original ftape.
|
|
- we keep the entire header segment now in memory, so no need to read
|
|
it before updating the header segments. Additional memory
|
|
consumption: 256 bytes.
|
|
|
|
Notes for zftape:
|
|
- zftape has support for tapes with format code 6 now, which use a
|
|
slightly different volume table format compared with other floppy
|
|
tapes.
|
|
- new ioctls for zftape. Have a look at zftape/zftape.h
|
|
- The internal volume table representation has changed for zftape. Old
|
|
cartridges are converted automatically.
|
|
- zftape no longer uses compression map segments, which have vanished
|
|
from the QIC specs, but creates volume table entry that reserves
|
|
enough space for the compression map.
|
|
- zftape is kerneld save now.
|
|
- we keep the entire header segment now in memory, so no need to read
|
|
it before updating the header segments. Additional memory
|
|
consumption: 256 bytes.
|
|
|
|
Notes for contrib/gnumt:
|
|
- modified mt from the GNU cpio package that supports all the new
|
|
ioctls of zftape.
|
|
Notes for contrib/swapout:
|
|
- This contains the swapout.c program that was written by Kai
|
|
Harrekilde-Pederson. I simply added a Makefile.
|
|
|
|
===== Release notes for ftape-2.10, 14/10/96 =====
|
|
|
|
The ftape maintainer has changed.
|
|
Kai Harrekilde-Petersen <khp@dolphinics.no>
|
|
has resigned from maintaining ftape, and I,
|
|
Claus-Justus Heine <claus@momo.math.rwth-aachen.de>,
|
|
have taken over.
|
|
|
|
- Added support for tapes with `format code 6', i.e. QIC-3020 tapes
|
|
with more than 2^16 segments.
|
|
- merged changes made by Bas Laarhoven with ftape-2.09. Refer
|
|
to his release notes below. I've included them into this
|
|
file unchanged for your reference.
|
|
- disabled call stack back trace for now. This new feature
|
|
introduced by the interim release 2.0.x still seems to
|
|
be buggy.
|
|
- Tried to minimize differences between the ftape version
|
|
to be included into the kernel source tree and the standalone
|
|
module version.
|
|
- Reintroduced support for Linux-1.2.13. Please refer to the
|
|
Install-guide.
|
|
|
|
===== Release notes for ftape-2.09, 16/06/96 =====
|
|
|
|
There aren't any really big news in this release, mostly just that I
|
|
(the maintainer) have changed my email address (due to a new job). My
|
|
new address is <khp@dolphinics.no>
|
|
|
|
- The CLK_48MHZ and FDC_82078SL options has gone (all 2Mbps cards seem
|
|
to use a 48MHz oscillator anyway and I haven't heard of an 'SL
|
|
chip out there).
|
|
- The S82078B has been `downgraded' to i82077AA compability.
|
|
- TESTING option revived. Right now, it'll enable the (seriously broken)
|
|
2Mbps code. If you enable it, you'll experience a tape drive that's
|
|
*really* out to lunch!
|
|
- Some (bold) changes in the init code. Please notify me if they
|
|
break things for you.
|
|
|
|
===== Release notes for ftape-2.08, 14/03/96 =====
|
|
|
|
If you correct a problem with ftape, please send your patch to
|
|
khp@dolphinics.no too.
|
|
|
|
- Updated to reflect that NR_MEM_LISTS is gone in 1.3.74
|
|
- Teac 700 added to list of known drives.
|
|
- The registered device name is now "ft" rather than "ftape".
|
|
|
|
===== Release notes for ftape-2.07a, 14/03/96 =====
|
|
|
|
Bugfixes by Marcin Dalecki <dalecki@namu03.gwdg.de>:
|
|
- In the last release it just compiled against 1.3.70;
|
|
now the params to request_irq() and free_irq are() are fixed, so it also
|
|
works in 1.3.73 :-)
|
|
- Support for modules is now correct for newer kernels.
|
|
|
|
===== Release notes for ftape-2.07, 04/03/96 =====
|
|
|
|
|
|
- ftape updated to compile against 1.3.70.
|
|
- Iomega 700 and Wangtek 3200 recognised.
|
|
|
|
|
|
===== Release notes for ftape-2.06b, 13/02/96 =====
|
|
|
|
Another simple bugfix version.
|
|
|
|
- Jumbo 700 recognised.
|
|
- Typo in vendors.h fixed.
|
|
|
|
|
|
===== Release notes for ftape-2.06a, 10/02/96 =====
|
|
|
|
This release is a simple bugfix version.
|
|
|
|
- Linux/SMP: ftape *should* work.
|
|
- FC-10/20: Only accepts IRQs 3-7, or 9. If IRQ 9, properly tell the card
|
|
to use IRQ 2. Thanks to Greg Crider (gcrider@iclnet.org) for finding and
|
|
locating this bug and testing the patch.
|
|
- Insight drive recognised correctly again.
|
|
- Motor-on wakeup version of the Iomega 250 drive added
|
|
|
|
|
|
===== Release notes for ftape-2.06, 28/01/96 =====
|
|
|
|
Special thanks go to Neal Friedman and Steven Sorbom for their
|
|
help in producing and testing this release.
|
|
|
|
I have continued to clean up the code, with an eye towards inclusion
|
|
of ftape in Linus' official kernel (In fact, as I type this, I am
|
|
running on a kernel with ftape support statically linked). I have
|
|
test-compiled ftape against my 1.2.13 tree without problems.
|
|
Hopefully, everything should be OK for the v1.2.x people.
|
|
|
|
WARNING! Alan Cox has mailed me that ftape does *NOT* work with
|
|
Linux/SMP. If you try to run ftape under Linux/SMP, it will cause a
|
|
kernel deadlock (which is worse than a panic).
|
|
|
|
- QIC-3020/TR-3: 1Mbps support works. Neal is capable of reading and
|
|
writing data to a tape. ftape will automatically detect the type of
|
|
tape (e.g. TR-3 vs QIC-80) and move the fdc in and out of
|
|
"perpendicular mode" as necessary.
|
|
- 2Mbps support is disabled by default, since it is not fully
|
|
debugged. If you are adventurous, remove -DFDC_82078SL in the
|
|
Makefile and see what happens :-)
|
|
- fdc detection: silly bugs removed (Only 2Mbps fdcs were affected)
|
|
and added detection of the National Semiconductors PC8744 fdc chip
|
|
(used in the PC873xx "super-IO" chips).
|
|
- Removed warning about incompatible types when compiling with Linux
|
|
1.2.x.
|
|
- README.PCI updated with info about the DELL Dimension XPS P90.
|
|
- Connor TST3200R added to detected drives.
|
|
- `swapout' utility added to distribution. It will dirty 5Meg of
|
|
memory, trying to swap out other programs. Just say `make swapout'
|
|
to build it. ftape will do this automatically Real Soon Now (ie:
|
|
when I have found out which kernel memory alloc function to call).
|
|
|
|
|
|
===== Release notes for ftape-2.05, 08/01/96 =====
|
|
|
|
- For v1.2.x Kernels, you must apply the patch linux-1.2/ksyms.patch to
|
|
the kernel and rebuild it (it adds the __get_dma_pages symbol to
|
|
ksyms.c).
|
|
- Included new asm-i386/io.h file from v1.3.x kernel series, to enable
|
|
gcc v.2.7.[12] to compile v1.2.x kernels (linux-1.2/io.h).
|
|
- Module versions: If you wish to compile ftape as a versioned module,
|
|
you must first compile your kernel with CONFIG_MODVERSIONS=y.
|
|
Otherwise, you will get complaints that <linux/modversions.h> does not
|
|
exist (if that happens, a `touch modversions.h' will help you out).
|
|
- CLK_48MHZ: new define in the Makefile (default: non-zero). If you have
|
|
a tape controller card that uses the i82078(-1) chip, but cannot get
|
|
it to work with ftape, try set it to 0 (and please report this).
|
|
- QIC-3010/3020: Complete support is still missing, but will hopefully
|
|
come soon. Steven Sorbom has kindly provided me with hints about
|
|
this. Writing of QIC-3020 tapes definitely does NOT work (do not try
|
|
it! - the drive will not be in "perpendicular mode" and this will ruin
|
|
the formatting info on the tape).
|
|
- ftape_num_buffers is out of fashion: use NR_BUFFERS instead (and
|
|
recompile if you want to change it :-).
|
|
|
|
|
|
===== Release notes for ftape-2.04, 01/01/96 =====
|
|
|
|
This version by Kai Harrekilde-Petersen <khp@dolphinics.no>
|
|
|
|
- ALERT! Support for Kernels earlier then v1.1.85 is about to go away.
|
|
I intend to clean up some of the code (getting rid of an annoyingly
|
|
large numbers of #ifdef mostly), which means that support for
|
|
pre-1.1.85 kernels must go as well.
|
|
- NR_FTAPE_BUFFERS is gone; You can instead select the number of dma
|
|
buffers by saying `insmod ftape.o ftape_num_buffer=<n>' instead.
|
|
- Configure script gone. ftape will now automagically determine your
|
|
kernel version by /usr/include/linux/version.h instead.
|
|
- CONFIG_MODVERSIONS now work. All combinations of versioned /
|
|
unversioned kernel and ftape module works (at least with my 1.3.52
|
|
kernel).
|
|
- If you have problems with inserting ftape into an old (1.2.x)
|
|
kernel (e.g. insmod says "1.2.8 does not match 1.2.8), recompile
|
|
your modules utilities with your new compiler.
|
|
- Reveal TB1400 drive added to vendors.h
|
|
- Support for the i82078-1 (2Mbps) chip is coming along. The
|
|
biggest problem is that I don't have such a card, which makes
|
|
testing / debugging somewhat problematic. The second biggest
|
|
problem is that I do not have the QIC-3010/3020 standards either.
|
|
Status right now is that the chip is detected, and it should be
|
|
possible to put it into 2Mbps mode. However, I do not know what
|
|
"extras" are needed to complete the support. Although putting the
|
|
i82078 into 1Mbps mode ought to work out of the box, it doesn't
|
|
(right now, ftape complains about id am errors).
|
|
|
|
|
|
===== Release notes for ftape-2.04beta5, 29/12/95 =====
|
|
|
|
Bas offline linux-tape
|
|
----------------------
|
|
For reasons only known to the majordomo mail list processor, Bas was
|
|
kicked off the linux-tape list sometime during the summer. Being
|
|
overworked at his for-pay job, he didn't notice it much. Instead I
|
|
(Kai, khp@dolphinics.no) has worked on ftape to produce the 2.04(beta)
|
|
version.
|
|
|
|
zftape
|
|
------
|
|
Note that there exists a much improved version of ftape, written by
|
|
Claus-Justus Heine <claus@willi.math.rwth-aachen.de> which is named
|
|
zftape, which conforms to the QIC-80 specs on how to mark backups, and
|
|
is capable of doing automatic compression. However, zftape makes
|
|
substantial changes to ftape, and I (Kai) have therefore declined to
|
|
integrate zftape into ftape. Hopefully, this will happen soon.
|
|
|
|
CONFIG_QIC117 removed from the kernel
|
|
-------------------------------------
|
|
The biggest change of all is that ftape now will allocate its dma
|
|
buffers when it is inserted. The means that the CONFIG_QIC117 option
|
|
has disappeared from the Linux kernel as of v1.3.34. If you have an
|
|
earlier kernel, simply answer 'no' to the question will do the trick
|
|
(if you get complains about __get_free_pages() missing, contact the
|
|
linux-tape mailing list).
|
|
|
|
Note that ftape-2.04beta will work equally well on kernels with and
|
|
without `ftape support'. The only catch is, that you will waste
|
|
around 96-128Kb of precious DMA'able memory on a box that has ftape
|
|
support compiled in.
|
|
|
|
Now for the real changes:
|
|
|
|
- FC-20 can now use DMA channels 1, 2, and 3. Thanks to Daniel
|
|
Cohen, catman@wpi.edu.
|
|
- ftape no longer requires a (gigantic) 96Kb buffer to be statically
|
|
allocated by the kernel.
|
|
- Added new Iomega drive (8882) to vendors.h
|
|
- -fno-strength-reduce added to Makefile, since GCC is broken.
|
|
- i82078-1 (2Mbps) FDC support started.
|
|
|
|
|
|
===== Release notes for ftape-2.03b, 27/05/95 =====
|
|
|
|
- Prevented verify_area to return error if called with zero length.
|
|
- Fixed a bug in flush_buffers that caused too much padding to be
|
|
written when a final segment had bad sectors.
|
|
- Increased maximum fast-seek overshoot value from 5 to 10 segments.
|
|
- Breaking loop after 5 retries when positioning fails.
|
|
- Fixed wrong calculation of tape length for QIC-3010 and QIC-3020
|
|
tapes (densities were swapped).
|
|
- Fixed wrong calculation of overshoot on seek_forward: Wrong sign
|
|
of error.
|
|
- Suppress (false) error message due to new tape loaded.
|
|
- Added two new CMS drives (11c3 and 11c5) to vendors.h.
|
|
|
|
|
|
===== Release notes for ftape-2.03a, 09/05/95 =====
|
|
|
|
- Fixed display of old error (even if already cleared) in ftape_open.
|
|
- Improved tape length detection, ioctls would fail for 425 ft tapes.
|
|
Until the tape length is calculated with data from the header
|
|
segment, we'll use worst-case values.
|
|
- Clear eof_mark after rewinding ioctls.
|
|
- Fixed wrong version message (2.03 had 2.02g id).
|
|
- Fixed bug that caused the fdc to be reset very frequently.
|
|
This shouldn't affect normal operation but the timing of the
|
|
report routines has changed again and that may cause problems.
|
|
We'll just have to find out....
|
|
- Implemented correct write precompensation setting for QIC-3010/3020.
|
|
- Cleaned up fdc_interrupt_wait routine. Hope it still works :-)
|
|
- Finally removed (already disabled) special eof mark handling for
|
|
gnu tar.
|
|
- Changed order of get_dma_residue and disable_dma in fdc-isr.c
|
|
because the current order would fail on at least one system.
|
|
We're back to the original order again, hope (and expect) this
|
|
doesn't break any other system.
|
|
|
|
|
|
===== Release notes for ftape-2.03, 07/05/95 =====
|
|
|
|
(Changes refer to the first ftape-2.02 release)
|
|
|
|
Support for wide and extended length tapes
|
|
------------------------------------------
|
|
The Conner TSM 420 and 850 drives are reported to be working.
|
|
I haven't received any reports about other brands; the TSM 420
|
|
and 850 seem to be the most widely used wide drives.
|
|
Extended length tapes (425 ft) with normal QIC-80 drives
|
|
are operating too (At least I've had no reports stating otherwise).
|
|
_Not_ yet completely supported (although they may work) are
|
|
QIC-3020 drives and 2 Mbps floppy disk controllers won't work at
|
|
the highest speed.
|
|
If someone is kind enough to send me one of these, I'll include
|
|
support for it too ;-)
|
|
|
|
Easier configuration
|
|
--------------------
|
|
Problems due to wrong settings in the Makefile are prevented
|
|
by using a configuration script that sets the necessary (kernel
|
|
version dependent) compile time options.
|
|
This kernel version is now determined from the sources found
|
|
at /usr/src/linux, or if not found, the old way using
|
|
/proc/version.
|
|
Versioned modules will be used automatically when supported
|
|
by- and configured in- the kernel.
|
|
Note that the current modules code (1.1.87) is still broken
|
|
and _needs_ the fix included in the insmod directory.
|
|
Please don't send me any more Oops reports caused by insmod :-(
|
|
|
|
Reduced module size
|
|
-------------------
|
|
The standard module size is much reduced and some compile time
|
|
options can even reduce it further. (I don't recommend this
|
|
for normal use but it can be handy for rescue diskettes)
|
|
|
|
Option: Approx. module size:
|
|
|
|
<standard> 150 Kb
|
|
NO_TRACE 125 Kb
|
|
NO_TRACE_AT_ALL 67 Kb
|
|
|
|
|
|
Much improved driver interruption
|
|
---------------------------------
|
|
Most possible loops have been broken and signal detection
|
|
has been improved.
|
|
In most cases the driver can be aborted by ^C (SIGINT) and
|
|
SIGKILL (kill -9) will generate be a sure kill.
|
|
(Note that aborting a tape operation may damage the last
|
|
data written to tape)
|
|
|
|
Improved error recovery
|
|
-----------------------
|
|
Ftape now returns an error (ENODATA) to the application if
|
|
a segment proves to be unrecoverable and then skips the
|
|
bad segment.
|
|
This causes most applications to continue to work (tar
|
|
and afio) loosing only a small amount (up to 29 Kb) of data.
|
|
Retried read operations will now be done slightly off-track
|
|
to improve the chance of success. Serious head off-track
|
|
errors will be detected.
|
|
|
|
FC-10 and FC-20 controllers
|
|
---------------------------
|
|
Ftape now supports both the old CMS FC-10 and the newer FC-20
|
|
controllers.
|
|
Because the operation of these cards is still undocumented,
|
|
thus far they will only work with the default settings (See
|
|
Makefile). Any feed-back on how to use them with other settings
|
|
will be welcome !
|
|
Compilation will fail if one changes the settings to illegal
|
|
values.
|
|
|
|
Kernels and compilers
|
|
---------------------
|
|
Ftape is currently being developed using the 2.5.8 compiler.
|
|
The older 2.4.5 probably works too (Set option in Makefile!).
|
|
I have no experience with any later compilers nor Elf support.
|
|
Any information on this is welcome.
|
|
The latest kernel I have tested ftape with is 1.2.6.
|
|
|
|
Compression
|
|
-----------
|
|
An impressive collection of changes for ftape including
|
|
on-the-fly compression is still lying on my desk.
|
|
If 2.03 proves to be reliable I might start integrating these
|
|
but as usual, I'm short in time :-(
|
|
|
|
Formatting
|
|
----------
|
|
There is still no way to format tapes under Linux. As far as
|
|
I know all attempts to write such a program have died now.
|
|
Since formatted tapes are rather common now, I think all we
|
|
need is a utility that writes a worst case pattern and verifies
|
|
that with the drive put in verify mode, reducing margins.
|
|
Any takers ?
|
|
|
|
Furthermore
|
|
-----------
|
|
Cleaned up messages.
|
|
Prepared to support multiple tape drives on one fdc.
|
|
Thanks to all the people who sent bug reports and helped me
|
|
improve the driver. Without trying to be complete I'll mention
|
|
Gary Anderson (without his accurate reports and unreliable
|
|
hardware there wouldn't be a 2.03), Stefan Kneifel (FC-20),
|
|
Robert Broughton (FC-20, you were almost there ;-), Bjorn
|
|
Ekwall (for the versioned modules and buggy insmod ;-), Peter
|
|
Fox, Christopher Oliver, Ralph Whittaker and not the least
|
|
Linus Torvalds (for Linux and keeping me busy because of
|
|
changes to the kernel ;-)
|
|
Thanks to anyone I forgot, for the bug reports, the ftape
|
|
bashing and the mental support...
|
|
|
|
|
|
That's it for now. Have Fun,
|
|
|
|
Bas.
|
|
|
|
|
|
===== Release notes for ftape-2.02g, 06/05/95 =====
|
|
|
|
- Added extra test to break read-id loop with signal.
|
|
- Changed rewind code to handle negative overshoot for drives
|
|
that take very long to start or stop.
|
|
- Let use of get/set i/o-regions depend on kernel version.
|
|
- Changed code to use a more general test for conditional
|
|
compilations depending on kernel version.
|
|
- Improved micro-step functionality to go off-track only
|
|
while reading (id & data).
|
|
- Added failure on tape-not-referenced bit in ftape_command.
|
|
- Added FOREVER option to read-wait routine.
|
|
- Changed read-id to use shorter timeout causing smaller
|
|
rewinds on timeout.
|
|
- Made kernel-interface functions static.
|
|
|
|
|
|
===== Release notes for ftape-2.02f, 03/05/95 =====
|
|
|
|
- Added support for dual tape drives on my system, extended Configure
|
|
script to detect host 'dodo'.
|
|
- Log media defect in history if ecc failed and no data was returned.
|
|
- Fixed Configure script that was failing for kernel versions with
|
|
double digit version or revision numbers.
|
|
|
|
|
|
===== Release notes for ftape-2.02e, 01/05/95 =====
|
|
|
|
- Fixed reposition loop at logical eot (failing read_id).
|
|
- Fixed 34 segment offset when rewinding.
|
|
- Added fast seek capability for more than 255 segments.
|
|
- Fixed wrong busy result from ftape_command causing reverse
|
|
seek to fail.
|
|
- Added breakout from infinite rewind loop (if something fails).
|
|
|
|
|
|
===== Release notes for ftape-2.02d, 30/04/95 =====
|
|
|
|
- Improved abortion on signals: Interrupt will make a graceful
|
|
exit, Kill will be less nice and should be used if everything
|
|
else fails.
|
|
- Included check for tape-head off track.
|
|
- Implemented exit from tape-start loop.
|
|
- Added kernel io-port registration.
|
|
- Implemented skip of failing segment (ENODATA) on ecc failure.
|
|
This allows afio and tar to continue when the tape is damaged.
|
|
- Made distinction between drive names with different codes.
|
|
|
|
|
|
===== Release notes for ftape-2.02c, 22/04/95 =====
|
|
|
|
- Fixed too tight command queueing after tape stop/pause command
|
|
issued from within interrupt service routine (Showed as timeout
|
|
on Acknowledge errors during retries on some systems)
|
|
- Tried to fix timeouts when using 425 ft tape because the extended
|
|
length doesn't seem to be detected by the hardware.
|
|
We now use the format code from the header segment so adjust the
|
|
timing after reading the header segment.
|
|
- Fixed some messages stating 'unexpected something...' being not
|
|
unexpected anymore.
|
|
- Started preparations for merge of dynamic buffer allocation and
|
|
compression code.
|
|
- Changed some debug messages to include relevant segment information
|
|
at level 4.
|
|
- Included early bail-out when drive offline, preventing a lot of
|
|
false messages.
|
|
- Moved ftape_parameter_xxx() offsets into function instead of in calls.
|
|
- Removed 'weird, drive busy but no data' error when caused by
|
|
an error during a read-id.
|
|
- Improved 'timeout on acknowledge' diagnostics.
|
|
- Moved MODULE option into Configure.
|
|
- Reduced code size when no tracing at all was set (Claus Heine).
|
|
- No longer log error code 0 (no error) as an error.
|
|
|
|
|
|
===== Release notes for ftape-2.02b, 09/04/95 =====
|
|
|
|
- Relaxed timing for status operation and displaying
|
|
abnormal results. Hopefully this shows what's going
|
|
wrong with the Conner TSM850R drives.
|
|
- Created script for configuration, using version number
|
|
of kernel source if available, otherwise /proc/version.
|
|
- Fixed conditionals in kernel-interface.c.
|
|
- Removed unavoidable TRACE output.
|
|
|
|
|
|
===== Release notes for ftape-2.02a, 01/04/95 =====
|
|
|
|
- Implemented `new-style' (versioned) modules support for new
|
|
kernels.
|
|
- Reduced size of module by moving static data to bss.
|
|
- Now using version number of kernel source instead of running
|
|
kernel for kernel versions >= 1.1.82
|
|
- Added feedback on drive speeds to vendor information.
|
|
- Included fixed insmod sources to distribution (Let's hope
|
|
the modules distribution get fixed soon :-/).
|
|
|
|
Note that I haven't yet implemented any of the code extension I
|
|
received. I hope to find some time to do this soon.
|
|
|
|
|
|
===== Release notes for ftape-2.02, 15/01/95 =====
|
|
|
|
|
|
- Fixed failing repositioning when overshoot was incremented.
|
|
- Fixed rate selection: Because of a deficiency in the QIC-117
|
|
specification one cannot distinguish between a not implemented
|
|
and a failing command. Therefor we now try to find out if the
|
|
drive does support this command before usage.
|
|
- Fixed error retry using wrong offset in fdc-isr.
|
|
- Improved retry code to retry only once on a single no-data
|
|
error in a segment.
|
|
- Validate sector number extracted from eof mark because an
|
|
invalid file mark (due to ???) could cause kernel panic.
|
|
- Split ftape-io.c into ftape-io.c and ftape-ctl.c files.
|
|
- Corrected too high media error count after writing to
|
|
a bad tape.
|
|
- Added #include <asm/segment.h> again because old kernel versions
|
|
need it.
|
|
- Fixed fdc not being disabled when open failed because no tape
|
|
drive was found.
|
|
- Fixed problem with soft error in sector 32 (shift operator with
|
|
shiftcount 32 is not defined).
|
|
|
|
|
|
===== Release notes for ftape-2.01, 08/01/95 =====
|
|
|
|
|
|
- Removed TESTING setting from distributed Makefile.
|
|
- Fixed `mt asf' failure: Rewind was deferred to close which
|
|
overruled the fsf ioctl.
|
|
- Prevented non-interruptible commands being interrupted.
|
|
- Added missing timeout.pause setting.
|
|
- Maximum tape speed read from drive type information table.
|
|
If the information is not in the table (0) the drive will
|
|
determine the speed itself and put a message in the logfile.
|
|
This information should then be added to the table in the
|
|
vendors.h file (and reported to me).
|
|
- Added call to ftape_init_drive after soft reset for those
|
|
(antique) drives that don't do an implicit seek_load_point
|
|
after a reset or power up.
|
|
- Don't try to set data rate if reset failed.
|
|
- Prevent update of seek variables when starting from the
|
|
beginning or the end of the tape.
|
|
- Fixed wrong adjustment of overshoot in seek_forward().
|
|
- Added sync to Makefile (again).
|
|
- Added code to diagnose timer problems (calibr.c).
|
|
- Replaced time differences by timediff calls.
|
|
- Removed reference to do_floppy from object for recent kernels.
|
|
- Fixed wrong display of 'failing dma controller' message.
|
|
- Removed various no longer used #include statements.
|
|
- Added max. tape speed value to vendor-struct.
|
|
- Changed ftape-command to check pre-conditions and wait
|
|
if needed.
|
|
- Further updated qic117.h to rev G.
|
|
- Combined command name table and restrictions table to one.
|
|
Extended this table with some new fields.
|
|
- Increased timeout on Ack timer value and included code to
|
|
report out of spec behaviour.
|
|
- Increased rewind timeout margin to calculated + 20%.
|
|
- Improved data rate selection so it won't fail on some
|
|
older (pre standard) drives.
|
|
- Changed initialisation code so drive will be rewound if the
|
|
driver is reloaded and the tape is not at bot.
|
|
- Moved some of the flush operations from close to the ioctls.
|
|
- Added exit code value to failing verify area message.
|
|
- Loop until tape halted in smart-stop.
|
|
- Fast seek handled specially if located at bot or eot.
|
|
- Being more conservative on overshoot value.
|
|
|
|
|
|
===== Release notes for ftape-2.00, 31/12/94 =====
|
|
|
|
The Install-guide is completely rewritten and now also includes
|
|
some information on how to use the driver. If you're either new
|
|
to ftape or new to Unix tape devices make sure to read it !
|
|
|
|
If you own a pci system and experience problems with the
|
|
ftape driver make sure to read the README.PCI file. It contains
|
|
some hints on how to fix your hardware.
|
|
|
|
For anybody who hasn't noticed: The version number of the
|
|
driver has been incremented (The latest released version has
|
|
been version 1.14d).
|
|
This has been done for two major reasons:
|
|
|
|
o A new (better) error recovery scheme is implemented.
|
|
o Support for new drive types has been added.
|
|
|
|
All these improvements/changes will probably include a couple
|
|
of new (and old?) bugs. If you encounter any problems that you think
|
|
I'm not yet aware of, feel free to send a report to <bas@vimec.nl>.
|
|
I recommend keeping a version of ftape-1.14d available, just
|
|
in case ;-)
|
|
|
|
This version should work with all kernel versions from 1.0.9 up
|
|
to 1.1.72 (and probably earlier and later versions too).
|
|
|
|
|
|
Major new features:
|
|
|
|
- Better handling of tapes with defects: When a sector repeatedly
|
|
(SOFT_RETRIES in ftape.h) cannot be written to or read from it is
|
|
marked as an hard error and gets skipped.
|
|
The error correction code can handle up to three of these hard
|
|
errors provided there are no other errors in that segment (32 Kb).
|
|
|
|
- Allows writing to tapes with defects (although the risk of loosing
|
|
data increases !)
|
|
Look for the media-defects entry printed with the statistics when
|
|
the tape is closed. A non-zero value here shows a bad tape.
|
|
[the actual count is wrong (too high), this is a known bug].
|
|
|
|
- Use of backup header segment if first one is failing.
|
|
|
|
- Support for extended length tapes with QIC-80: both 425 and 1100 ft.
|
|
0.25 inch tapes are now recognized and handled.
|
|
|
|
- Support for new QIC-80 drives with 8 mm `wide' tapes (e.g. Conner
|
|
TSM 420).
|
|
|
|
- Support for new QIC-3010 and QIC-3020 drives (experimental) with
|
|
both 0.25 inch and 8 mm tapes.
|
|
|
|
Some minor features were added, a couple of small bugs were fixed and
|
|
probably some new ones introduced ;-).
|
|
|
|
[lseek() didn't make it into this version]
|
|
|
|
Have fun,
|
|
|
|
Bas.
|
|
----
|
|
LocalWords: ftape MCONFIG mt VFS zftape resp sftape proc subdir MTIOCVOLINFO
|
|
LocalWords: MTIOCGETSIZE BOT EOD MTBSF zft kerneld modprobe kdtime contrib TR
|
|
LocalWords: MTSETBLK afio uninstall texi www EIO QIC init sft eof aka dma GB
|
|
LocalWords: SIGKILL MTIOCFTCMD mmap Iomega FDC fdc io gnumt mtio fc asm inb
|
|
LocalWords: outb ft qic frontend TeXinfo irq mach MODVERSIONS CONFIG html dvi
|
|
LocalWords: usr doc SMP Mb Dunno FIXME vtblc perl listtape volinfo fsf MTWEOF
|
|
LocalWords: amanda degaussed ComByte DoublePlay whraven njackn com MTIOC vtbl
|
|
LocalWords: GETBLKSZ MAKEDEV zftape's linux dif CVS Revison cp MTREW MTOFFL
|
|
LocalWords: MTFSF BSF Marcin Dalecki GCC Config cpio swapout Kai Harrekilde
|
|
LocalWords: Pederson khp dolphinics Justus claus momo rwth aachen Laarhoven
|