Tape drives
being used with
the HP Tru64
Unix V5.1B-4
tape driver and
no-rewind tape
special device
files can rewind
between writing
files, resulting
in overwriting
files or save
sets that were
previously
written to the
tape. The
problem will
only occur on
tape drives that
declare support
for asymmetric
logical unit
access (ALUA)
while the
cam_ccfg_aa_enable
sysconfig
variable is set
to its default
value of 1, for
example on HP
Ultrium-4
drives.
To determine if
this issue might
arise, you can
examine the
returned SCSI
INQUIRY data via
the scu command.
# scu
scu> sbtl 3
13 0
....................
<< set the
bus target
lun to point
to the tape
drive
Device:
Ultrium
4-SCSI, Bus:
3, Target:
13, Lun: 0,
Type:
Sequential
Access
scu> show
inquiry
Inquiry
Information:
Peripheral
Device
Type:
0x1
(Sequential
Access)
Peripheral
Qualifier:
0
(Peripheral
Device
Connected)
Device
Type
Modifier:
0
Removable
Media:
Yes
ANSI
Version:
5
(Reserved)
ECMA
Version:
0
ISO
Version:
0
Response
Data
Format:
2
(SCSI-2)
Terminate
I/O
Process:
No
Additional
Length:
91
Reserved
(byte
5): 0x10
....................
<< a
non-zero
value
indicates
ALUA
supported.
Reserved
(byte
6): 0x90
Soft
Reset
Support:
No
Command
Queuing
Support:
No
Target
Transfer
Disable:
No
Linked
Command
Support:
No
Synchronous
Data
Transfers:
No
Support
for 16
Bit
Transfers:
No
Support
for 32
Bit
Transfers:
No
Relative
Addressing
Support:
No
Vendor
Identification:
HP
Product
Identification:
Ultrium
4-SCSI
Firmware
Revision
Level:
H44W
Vendor
Specific
Data:
00 00 00 00 01 3c 0d 00 " . . < . "
00 00 00 00 00 00 00 00 " . . . . "
00 00 00 00 00 00 00 5c " . . . \ "
09 17 0d 7d 0d bc 13 1c " . { . . "
13 3c 03 14 03 7d 00 00 " < . } . "
00 00 00 00 00 00 00 00 " . . . . "
00 00 00 00 00 00 00 00 " . . . . "
00 00 00 00 " . . "
scu>
If "Reserved
(byte 5)" is not
listed in the
INQUIRY output,
then the byte
value is 0x00
and ALUA is not
supported.
Another more
direct method
can be used by
writing two
files to the
no-rewind tape
device to be
checked. This
should be run
only after
making sure the
sysconfig option
'cam_ccfg_aa_enable'
is set to its
default value of
'1'. If not, set
the value to '1'
for testing and
then switch it
back after
testing is
complete.
-- File:
tar_test --
#/bin/ksh
echo Test
Passed >
file1_temp_tar_test
echo Test
Failed >
file2_temp_tar_test
mt -f ${1}
rewind
tar -cvf
${1}
file1_temp_tar_test
tar -cvf
${1}
file2_temp_tar_test
mt -f ${1}
rewind
rm *temp_tar_test
tar -xvf
${1}
cat *temp_tar_test
-- EOF --
# sysconfig
-q cam
cam_ccfg_aa_enable
cam:
cam_ccfg_aa_enable
= 1
# tar_test
/dev/ntape/tape5c
a
file1_temp_tar_test
1 Blocks
a
file2_temp_tar_test
1 Blocks
blocksize =
20
x
file1_temp_tar_test,
12 bytes, 1
tape blocks
Test Failed
Tape drives
with which this
issue will arise
will echo 'Test
Failed'.