SUMMARY:confusing fsf, seod, tape positioning

From: Neil R. Smith (neils@ariel.met.tamu.edu)
Date: Wed Jul 03 2002 - 19:08:47 EDT


Root of problem: mt seod option in Tru64 v5.x and Compaq DLT7000
tape drive lets you do something you should not be able to do --
write data after EOT !AND! leaves that EOT in place.

Normal tape format for 3 successive writes by an
application, say tar:

BOT file EOF file EOF file EOF EOF [nothing here]
                           --- ---
                            [EOT]

 where
BOT=Beginning of tape, EOF=End Of File, and
EOT=End of Tape which is made up of two EOF's.

Tape positioning:

mt -f /dev/ntape/tape0c fsf n -- moves tape forward
  (toward end of tape) until it has skipped n EOF's,
  stopping immediately after the last one skipped.

mt -f /dev/ntape/tape0c bsf n -- moves tape backward
  (toward beginning of tape) until it has skipped n
  EOF's, stopping immediately after the last one
  skipped; which leaves you on the BOT side of an EOF.
  [an appl. read issued here will result in I/O error,
   but will have left you on the EOT side of that EOF
   so that an immediate follow-on read would be
   successful if there were data on that side]

mt -f /dev/ntape/tape0c seod -- puts you at the 'far'
  (end of tape) side of the two EOF's (EOT), not
  between them! So the next write after a seod results in:

So to navigate the tape after the fact, you have to
recognize that there exist back-to-back EOF's which
will require more fsf or bsf skips than you
would otherwise expect.

e.g..,
> mt rewind
> mt -f /dev/ntape/tape0c seod
BOT file EOF file EOF file EOF EOF file EOF EOF
                           --- --- --- ---
                               leaves you here ^
after which a
> mt -f /dev/ntape/tape0c bsf 3
BOT file EOF file EOF file EOF EOF file EOF EOF
                           --- --- --- ---
              leaves you here ^

Please send in clarifications and additional
helpful notes as follow-on to this summary,
since the above certainly does not exhaust the
the matter and only represents my understanding
of the replies from:

Lucien HERCAUD
Pat O'Brien
Mark McCann

to whom I extend much thanks. -Neil

> -----Original Message-----
> From: Neil R. Smith [mailto:neils@ariel.met.tamu.edu]
> Sent: Monday, June 24, 2002 6:59 PM
> To: tru64-unix-managers@ornl.gov
> Subject: confusing fsf, seod, tape positioning
>
>
> What does "mt -f [ntape device] seod" do?
> Experiment: Tru64 5.1A
> > mt rewind (only one tape device: a COMPAQ DLT7000)
> > tar cf /dev/ntape/tape0_d1 dir1
> > tar cf /dev/ntape/tape0_d1 dir2
> > tar cf /dev/ntape/tape0_d1 dir3
> > mt rewind
> > mt -f /dev/ntape/tape0_d1 seod
> > tar cf /dev/ntape/tape0_d1 dir4
>
> Tapex -m says there's only 3 files on the tape.
> Plus:
> > mt rewind
> > mt -f /dev/ntape/tape0_d1 fsf 3
> > tar tf /dev/ntape/tape0_d1 gives 'no data'
>
> BUT!:
> > mt rewind
> > mt -f /dev/ntape/tape0_d1 seod
> > mt -f /dev/ntape/tape0_d1 bsf 3
> > mt -f /dev/ntape/tape0_d1 fsf 1
> > tar tf /dev/ntape/tape0_d1 will read the dir4 tape archive
> AND
> > mt rewind
> > mt -f /dev/ntape/tape0_d1 seod
> > mt -f /dev/ntape/tape0_d1 bsf 5 (!?)
> > mt -f /dev/ntape/tape0_d1 fsf 1
> > tar tf /dev/ntape/tape0_d1 will read the dir3 tape archive
>
> This is maddening, at least in part because I can't seem to locate
> comprehensive documentation on EOF writes and how/when they
> are implemented by utilities like tar and vdump/vrestore. I have
> more familiarity with other unix flavors wherein each utility
> or mt 'fsf' or 'bsf' always leaves you on the end-of-tape side
> of an EOF ready to read or write.

-- 
Neil R. Smith, Comp. Sys. Mngr.		neils@ariel.met.tamu.edu
Dept. Atmospheric Sci., Texas A&M Univ.	979/845-6272 FAX:979/862-4466


This archive was generated by hypermail 2.1.7 : Sat Apr 12 2008 - 10:48:45 EDT