Subject: Re: restore(8)/tape quirk in 1.4?
To: Ross Harvey <ross@ghs.com>
From: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
List: current-users
Date: 05/17/1999 00:44:43
At 22:21 Uhr +0200 16.05.1999, Ross Harvey wrote:
>> From: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
>>
>> Trying to restore(8) from a TDC4222 QIC tape drive on NetBSD/mac68k GENERIC
>> 1.4 gives me
>>
>> st0: 10240-byte tape record too big for 8192-byte user buffer
>> st0(ncrscsi0:5:0):  Check Condition on CDB: 0x08 00 00 20 00 00
>>     SENSE KEY:  No Additional Sense
>>                 Incorrect Length Indicator Set
>>    INFO FIELD:  -2048
>>      ASC/ASCQ:  No Additional Sense Information

>Try:
>	restore -i -b10 -v -f /dev/rst0

That was a quick one -- but, unfortunately:

# restore -N -v -r -b32 -f /dev/nrst0
Verify tape and initialize maps
Tape read error while trying to set up tape
continue? [yn]

-- and, on the console:

st0: 32768-byte tape record too big for 8192-byte user buffer
st0(ncrscsi0:5:0):  Check Condition on CDB: 0x08 00 00 20 00 00
    SENSE KEY:  No Additional Sense
                Incorrect Length Indicator Set
   INFO FIELD:  -24576
     ASC/ASCQ:  No Additional Sense Information


# What is this "user buffer"?

# Why is 1.4 restore(8) incapable of dynamically adjusting to a tape's
(fixed) buffer size -- contrary to what the man page says? Why is it
incompatible to pre-1.3 NetBSD dumps - without comment?

# Why do I see a descriptive error message on the console, but only
misleading stuff ("tape read error: Input/output error") from dump(8)?

# And another one: When I want to write subsequent dumps to tape, I run into

-------------------------------------------------------------------------
<tty>

# mt rewind ; dump -B2000000 -0 -f /dev/nrst0 /dev/rsd2g
  DUMP: Date of this level 0 dump: Sun May 16 22:56:52 1999

[...]

  DUMP: Closing /dev/nrst0
  DUMP: DUMP IS DONE
# dump -B2000000 -0 -f /dev/nrst0 /dev/rsd0a
  DUMP: Date of this level 0 dump: Sun May 16 23:20:10 1999
  DUMP: Date of last level 0 dump: the epoch
  DUMP: Dumping /dev/rsd0a (/) to /dev/nrst0
  DUMP: Label: none
  DUMP: mapping (Pass I) [regular files]
  DUMP: mapping (Pass II) [directories]
  DUMP: estimated 11688 tape blocks on 0.01 tape(s).
  DUMP: Volume 1 started at: Sun May 16 23:20:13 1999
  DUMP: dumping (Pass III) [directories]
  DUMP: End of tape detected
  DUMP: Closing /dev/nrst0
  DUMP: Volume 1 completed at: Sun May 16 23:20:15 1999
  DUMP: Volume 1 took 0:00:02
  DUMP: Volume 1 transfer rate: 15 KB/s
  DUMP: Change Volumes: Mount volume #2
  DUMP: Is the new volume mounted and ready to go?: ("yes" or "no")

-------------------------------------------------------------------------
<console>

st0(ncrscsi0:5:0):  Check Condition on CDB: 0x0a 00 00 20 00 00
    SENSE KEY:  Illegal Request
   INFO FIELD:  8192
     ASC/ASCQ:  Write Append Error

-------------------------------------------------------------------------

unless I do a "mt fsr" inbetween to skip a filemark [same for restore].
A superfluous filemark is misinterpreted as end of tape here. Again, this
has changed from 1.2G behaviour.

Does this happen for other types of tape, too?
Is what I described here a "feature"? Should I send-pr?

	hauke




--
"It's never straight up and down"     (DEVO)