I've found a message in teh archives (# 25664) that describes my problem, but it
doesn't seem to be answered there.  When doing an amrecover, I load a tape using
'amtape <conf> label <tapelabel>' which loads the tape fine, then this happens:

Load tape SMGDR1-06 now
Continue? [Y/n]: Y
EOF, check amidxtaped.debug file on <my hostname removed>.
amrecover: short block 0 bytes
UNKNOWN file
amrecover: Can't read file header
extract_list - child returned non-zero status: 1

I checked the amidxtaped.debug, and I've figured out what the problem is.  After
amtape is called with either the 'label <blah>' or 'current' or any other where
it returns the amlabel of the tape, amtape does not rewind the tape when it's
finished reading the amlabel.  'mt -f /dev/nst1 status' shows the tape like this
for me:

SCSI 2 tape drive:
File number=0, block number=1, partition=0.
Tape block size 0 bytes. Density code 0x41 (unknown to this mt).
Soft error count since last status=0
General status bits on (1010000):
 ONLINE IM_REP_EN

Which means that it's forwarded in to where the amlabel was read.  If I do an 'mt
-f /dev/nst0 rewind', the status will then look like this for me:

SCSI 2 tape drive:
File number=0, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x41 (unknown to this mt).
Soft error count since last status=0
General status bits on (41010000):
 BOT ONLINE IM_REP_EN

If I do a manual rewind like that after amtape is finished doing it's business
loading the appropriate tape, then amrecover works fine.  Is there a way to have
amtape automatically do the rewind after an amlabel check?  If it's a matter of
modifying amtape, I can give it a try, but I'm not great at C code.

Thanks...

--
   Jason Hollinden

   SMG Systems Admin

Reply via email to