problem with ide-scsi and IDE tape drive

problem with ide-scsi and IDE tape drive

Post by Richard Kettlewel » Thu, 01 Nov 2001 08:30:21



Hi,

I have a Seagate STT20000A IDE tape drive, which I am trying to use
with the ide-scsi driver.  It worked well enough when moving data
around to repartition recently, but I have discovered a repeatable
problem.

If I try and save a tar to the tape twice in succession, rewinding and
reading forward to the same point each time first, the second attempt
fails (details below).

I originally found this under 2.2.19, and upgraded to 2.4.13 to see if
the problem was still there when running more recent code.  It is.

Here is a script which demonstrates the problem for me:

    #! /bin/sh
    set -e
    TAPE=/dev/nst0
    hsize=512

    set -x

    mt -f $TAPE rewind
    echo "tape 1" | dd conv=sync of=$TAPE bs=$hsize count=1

    for x in 1 2 3; do
      mt -f $TAPE rewind
      dd if=$TAPE of=/dev/null bs=$hsize
      date
      tar -c -b 20 -f $TAPE /boot
    done

Here's what the output looks like:

    sfere# ./t
    + mt -f /dev/nst0 rewind
    + dd conv=sync of=/dev/nst0 bs=512 count=1
    + echo 'tape 1'
    0+1 records in
    1+0 records out
    + mt -f /dev/nst0 rewind
    + dd if=/dev/nst0 of=/dev/null bs=512
    1+0 records in
    1+0 records out
    + date
    Tue Oct 30 23:15:01 GMT 2001
    + tar -c -b 20 -f /dev/nst0 /boot
    tar: Removing leading `/' from absolute path names in the archive
    + mt -f /dev/nst0 rewind
    + dd if=/dev/nst0 of=/dev/null bs=512
    1+0 records in
    1+0 records out
    + date
    Tue Oct 30 23:15:36 GMT 2001
    + tar -c -b 20 -f /dev/nst0 /boot
    tar: Removing leading `/' from absolute path names in the archive
    tar: Cannot write to /dev/nst0: I/O error
    tar: Error is not recoverable: exiting now

The behaviour is extremely consistent - the second invocation of tar
always fails.

I rebuilt st.o and ide-scsi.o with the debugging macros enabled.  The
resulting kernel output is 80Kb long, and rather than fill everyone's
inboxes I've put it at:

ftp://ftp.chiark.greenend.org.uk/users/richardk/tapelog.txt

Some possibly-relevant version numbers:

    sfere# uname -a
    Linux sfere 2.4.13 #1 Sun Oct 28 12:13:17 GMT 2001 i586 unknown
    sfere# tar --version
    tar (GNU tar) 1.12

    Copyright (C) 1988, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    Written by John Gilmore and Jay Fenlason.
    sfere# mt --version
    GNU mt version 2.4.2

ttfn/rjk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

problem with ide-scsi and IDE tape drive

Post by Pete Zaitce » Thu, 01 Nov 2001 09:10:07


Quote:> I originally found this under 2.2.19, and upgraded to 2.4.13 to see if
> the problem was still there when running more recent code.  It is.
>     mt -f $TAPE rewind
>     echo "tape 1" | dd conv=sync of=$TAPE bs=$hsize count=1

>     for x in 1 2 3; do
>       mt -f $TAPE rewind
>       dd if=$TAPE of=/dev/null bs=$hsize
>       date
>       tar -c -b 20 -f $TAPE /boot
>     done

Try "mt fsf" instead dd, see if that helps.

-- Pete
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

problem with ide-scsi and IDE tape drive

Post by Khalid Azi » Thu, 01 Nov 2001 09:40:06



> > I originally found this under 2.2.19, and upgraded to 2.4.13 to see if
> > the problem was still there when running more recent code.  It is.

> >     mt -f $TAPE rewind
> >     echo "tape 1" | dd conv=sync of=$TAPE bs=$hsize count=1

> >     for x in 1 2 3; do
> >       mt -f $TAPE rewind
> >       dd if=$TAPE of=/dev/null bs=$hsize
> >       date
> >       tar -c -b 20 -f $TAPE /boot
> >     done

> Try "mt fsf" instead dd, see if that helps.

> -- Pete

dd is not guaranteed toposition you beyond the filemark after the first
record. You have to be positioned beyond the filemark to start writing.
Pete's suggestion is a good one. "mt fsf" will position the tape beyond
the filemark and writing to the tape should work at that point.

--
Khalid

====================================================================
Khalid Aziz                              Linux Systems Operation R&D
(970)898-9214                                        Hewlett-Packard

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

problem with ide-scsi and IDE tape drive

Post by Kai Makisar » Thu, 01 Nov 2001 21:00:12



> Hi,

> I have a Seagate STT20000A IDE tape drive, which I am trying to use
> with the ide-scsi driver.  It worked well enough when moving data
> around to repartition recently, but I have discovered a repeatable
> problem.

> If I try and save a tar to the tape twice in succession, rewinding and
> reading forward to the same point each time first, the second attempt
> fails (details below).

[details cut]

Looking at your log everything seems to work perfectly from the point of
view of the drivers. The problem is that the first write command (from the
log cmd: a 1 0 0 3c 0 Len: 30720) is refused by your drive (the sense key
Illegal Request). The command looks OK (i.e., it is a write of 60 512 byte
blocks in fixed block mode).

Does your drive only accept writes from the beginning of the tape (there
are drives that have this limitation)? In this case the problem is that
you rewind and space forward between the two tar commands. You don't have
to rewind between the commands. The same result is obtained if you just
use two consecutive tar commands (and this means that writing only starts
from the beginning of the tape, from the drive's point of view).

        Kai

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/