I'm posting here because redhat/bugzilla moved my bug report
from cpio to kernel, so they think this is a kernel/scsi issue.

==

kernel 2.2.14, cpio-2.4.2-13 (rh61)
scsi_mod, aha152x, st as modules
SCSI controller: Adaptec AVA-1050
SCSI tape unit: Tandberg SLR2 525MB

PROBLEM:
I can do multivolume cpio backups on tape, but then
I cannot restore them due to cpio problems (maybe due to the kernel).

I use these commands:

Backup:
find /path|cpio -ovHcrc -O /dev/st0  
- it starts to backup then it asks me for a 2nd tape with:
"Found end of tape.  Load next tape and press RETURN."
I insert the 2nd tape and the backups ends regularly with
the message about the blocks copied.


Restore:
cpio -ivdumHcrc -I /dev/st0 
- it asks me for the 2nd tape with:
"Found end of tape.  Load next tape and press RETURN."
- then asks me for a 3rd tape!!, with:
"Found end of tape.  Load next tape and press RETURN."
Since I have not a 3rd tape (the backup took 2 tapes only),
I simply press enter (_leaving_ the 2nd tape IN)
"cpio: read error: No medium found" (the 2nd tape is in).

Note that:
- The stuf restored is only 5/10k smaller than the original 
size,very little but the restore is unreliable.
- the backup took very little of the 2nd tape (say 10MB).
- I even tried with -B 5120
- I tried with different tapes (3M), different controllers 
(all ISA adaptec with module aha152x.o) and different tape
units (all Tandberg)

I found an article on dejanews regarding problems with
cpio  multivolume restore with kernels 2.0.x (cpio quits
as soon as it arrives at the end of the 1st tape with an
I/O error).
I found nothing regarding kernels 2.2.x.

===begin deja article on 2.0.x kernels 
On Tue, Mar 24, 1998 at 11:26:10AM +0100, Stephane KLEIN 
wrote:
> But the restoring (cpio -i ..) fails at the end of the 
first tape with a
> read IO error.

I think this is a known bug in 2.0.X. The following message 
is from Kai
M�kisara, maintainer of the SCSI tape driver:

| On Wed, 28 May 1997, Jan Echternach wrote:
| > There is a problem with taper not detecting the end of 
tape. With my
| > SCSI DAT drive and kernel 2.0.30, read() returns 0 only 
one time, and
| > all subsequent reads return EIO. It seems that ftape 
returns _two_
| > times 0, which taper handles correctly.
| > 
| ...
| > 
| > Do 2.1.x kernels return two times 0? If so, should 
2.0.30 also return
| > two times 0 at end of tape?
| > 
| What should happen, according to the BSD semantics, is 
this:
| - at filemark, the first read returns 0 bytes, the second 
read returns
|   data from the next file
| - at EOD, the first and the second read return 0 bytes, 
the third returns
|   error (-1)
| i.e., 2.1.x operates correctly.
| 
| The EOD behaviour was fixed at 2.1.20. In principle, it 
should be fixed
| also at 2.0.31 but I think the risks are too big: fixing 
EOD behaviour
| may break something else (the fix from 2.1.20 can't be 
used directly).
| 
|         Kai

===end deja article

Thanks.

-- 
[EMAIL PROTECTED]

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to