"John R. Jackson" wrote:

> >***A TAPE ERROR OCCURRED: [[writing filemark: Input/output error]].
>
> First, Amanda is doing nothing more than report to you what the OS
> told it.  So there really was an I/O error of some type someplace.
> It's unlikely Amanda could cause this (except possibly by tripping some
> other hardware or software bug).
>

Along those lines, here's what I see in dmesg after it finally fails:

ide-tape: ht0: DSC timeout
ide-tape: ht0: position_tape failed in discard_pipeline()
ide-tape: ht0: DSC timeout
hdc: DMA disabled
hdc: ATAPI reset complete
ide-tape: ht0: I/O error, pc = 10, key = 2, asc = 4 ascq =1
ide-tape: Couldn't write a filemark

> >...  I was able to successfully amlabel my tapes, and amcheck
> >appears to be happy.  ...
>
> What happens if you try to amlabel one of your already labelled tapes?
>

I get:

rewinding, reading label DailySet101, tape is active
rewinding
tape not labeled

so I guess it refused to do it.  Is this what is supposed to happen?

>
> What happens if you run amcheck with the -w option (warning -- this
> will rewrite the tape label so only do it on a tape that can stand to
> be clobbered).

After switching to the tape Amanda wants to see next, I get:

Amanda Tape Server Host Check
-------------------------
Tape DailySet100 is writable
Tape DailySet100 label ok
Server check took 4.565 seconds

(brought to you by Amanda 2.4.2p2)

Seems okay, is this what you expect?

>
>
> You might also try creating a file that is an even multiple of 32 KBytes
> (e.g. "dd if=/something of=/test-file bs=32k count=100" where /something
> is smaller than 100*32KBytes), then set up a script with a dozen or so
> dd's in a row (the first four lines emulate the Amanda label processing):
>
>   mt -f /dev/whatever rewind
>   dd if=/dev/whatever of=/dev/null bs=32k count=1
>   mt -f /dev/whatever rewind
>   dd if=/test-file of=/dev/whatever bs=32k count=1
>
>   dd if=/test-file of=/dev/whatever bs=32k
>   dd if=/test-file of=/dev/whatever bs=32k
>   dd if=/test-file of=/dev/whatever bs=32k
>   dd if=/test-file of=/dev/whatever bs=32k
>   dd if=/test-file of=/dev/whatever bs=32k
>   dd if=/test-file of=/dev/whatever bs=32k
>   dd if=/test-file of=/dev/whatever bs=32k
>   ...
>
> and see how this goes.  It's not exactly like what Amanda does, but is
> closer than simple mt/tar statements.  Also, when put in a script like
> this, it will keep the tape busy.
>
> Note that this will clobber the test tape.
>

I did this, and it seemed to work fine.  No I/O errors, just nice little
messages from dd confirming reads and writes of so many blocks.  I had 30 or
so writes in the script, and they all seemed to complete okay.

>
> >... the
> >tape runs for a while, and then it just hangs for a hour or so, until
> >something times out and fails.
>
> Sounds like a hardware/cable/controller problem to me.  Start jiggling
> things (yeah, I know, yet another highly technical term :-).  If you
> have enough hardware, try moving the drive to a different controller,
> swap the cables, etc.
>

Tried this, too.  Switched to the other IDE controller, still get the same
behavior.

I really appreciate your help trying to figure this out.  Do you have any
other ideas on how I can track this problem down?

Steve Stanners

Reply via email to