sa(4) driver changes available for test
Dan Langille
dan at langille.org
Mon Mar 2 19:47:10 UTC 2015
> On Mar 2, 2015, at 2:07 PM, Dan Langille <dan at langille.org> wrote:
>
>
>> On Mar 2, 2015, at 12:28 PM, Kenneth D. Merry <ken at FreeBSD.ORG> wrote:
>>
>> On Mon, Mar 02, 2015 at 11:44:09 -0500, Dan Langille wrote:
>>>
>>>> On Mar 2, 2015, at 11:31 AM, Kenneth D. Merry <ken at FreeBSD.ORG> wrote:
>>>>
>>>> On Mon, Mar 02, 2015 at 11:09:57 -0500, Dan Langille wrote:
>>>>>
>>>>>> On Mar 1, 2015, at 9:29 PM, Kenneth D. Merry <ken at FreeBSD.ORG> wrote:
>>>>>>
>>>>>> On Sun, Mar 01, 2015 at 19:41:07 -0500, Dan Langille wrote:
>>>>>>>
>>>>>>>> On Mar 1, 2015, at 7:31 PM, Kenneth D. Merry <ken at FreeBSD.ORG> wrote:
>>>>>>>>
>>>>>>>> On Sun, Mar 01, 2015 at 19:15:05 -0500, Dan Langille wrote:
>>>>>>>>>
>>>>>>>>>> On Feb 17, 2015, at 1:36 PM, Kenneth D. Merry <ken at freebsd.org> wrote:
>>>>>>>>>>
>>>>>>>>>> On Sat, Feb 14, 2015 at 18:22:43 -0500, Dan Langille wrote:
>>>>>>>>>>>
>>>>>>>>>>>> On Feb 13, 2015, at 7:32 PM, Kenneth D. Merry <ken at freebsd.org> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I have a fairly large set of changes to the sa(4) driver and mt(1) driver
>>>>>>>>>>>> that I'm planning to commit in the near future.
>>>>>>>>>>>>
>>>>>>>>>>>> A description of the changes is here and below in this message.
>>>>>>>>>>>>
>>>>>>>>>>>> If you have tape hardware and the inclination, I'd appreciate testing and
>>>>>>>>>>>> feedback.
>>>>>>>>>>>
>>>>>>>>>>> I have a DLT 8000 and an SDLT 220.
>>>>>>>>>>>
>>>>>>>>>>> I don't have anything running current, but I have a spare machine which I could use for testing.
>>>>>>>>>>>
>>>>>>>>>>> Do you see any value is tests with that hardware? I'd be testing it via Bacula.
>>>>>>>>>>>
>>>>>>>>>>> disclosure: I'm the sysutils/bacula-* maintainer and a Bacula committer.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Actually, yes. Bacula is a bit tricky to configure, so your trying it out
>>>>>>>>>> would be helpful if you have the time.
>>>>>>>>>>
>>>>>>>>>> In looking at the manuals for both the SDLT 220 and the DLT 8000, they both
>>>>>>>>>> claim to support long position information for the SCSI READ POSITION
>>>>>>>>>> command.
>>>>>>>>>>
>>>>>>>>>> You can see what I'm talking about by doing:
>>>>>>>>>>
>>>>>>>>>> mt eod
>>>>>>>>>> mt status
>>>>>>>>>>
>>>>>>>>>> On my DDS-4 tape drive, this shows:
>>>>>>>>>>
>>>>>>>>>> # mt -f /dev/nsa3 status
>>>>>>>>>> Drive: sa3: <SEAGATE DAT 06240-XXX 8071> Serial Number: HJ00YWY
>>>>>>>>>> ---------------------------------
>>>>>>>>>> Mode Density Blocksize bpi Compression
>>>>>>>>>> Current: 0x26:DDS-4 1024 bytes 97000 enabled (DCLZ)
>>>>>>>>>> ---------------------------------
>>>>>>>>>> Current Driver State: at rest.
>>>>>>>>>> ---------------------------------
>>>>>>>>>> Partition: 0 Calc File Number: -1 Calc Record Number: -1
>>>>>>>>>> Residual: 0 Reported File Number: -1 Reported Record Number: -1
>>>>>>>>>> Flags: None
>>>>>>>>>>
>>>>>>>>>> But on an LTO-5, which will give long position information, I get:
>>>>>>>>>>
>>>>>>>>>> [root at doc ~]# mt status
>>>>>>>>>> Drive: sa0: <IBM ULTRIUM-HH5 E4J1>
>>>>>>>>>> ---------------------------------
>>>>>>>>>> Mode Density Blocksize bpi Compression
>>>>>>>>>> Current: 0x58:LTO-5 variable 384607 enabled (0x1)
>>>>>>>>>> ---------------------------------
>>>>>>>>>> Current Driver State: at rest.
>>>>>>>>>> ---------------------------------
>>>>>>>>>> Partition: 0 Calc File Number: 2 Calc Record Number: -1
>>>>>>>>>> Residual: 0 Reported File Number: 2 Reported Record Number: 32373
>>>>>>>>>> Flags: None
>>>>>>>>>>
>>>>>>>>>> That, in combination with the changes I made to the position information
>>>>>>>>>> code in the driver, mean that even the old MTIOCGET ioctl should return an
>>>>>>>>>> accurate file number at end of data. e.g., on the LTO-5:
>>>>>>>>>>
>>>>>>>>>> [root at doc ~]# mt ostatus
>>>>>>>>>> Mode Density Blocksize bpi Compression
>>>>>>>>>> Current: 0x58:LTO-5 variable 384607 0x1
>>>>>>>>>> ---------available modes---------
>>>>>>>>>> 0: 0x58:LTO-5 variable 384607 0x1
>>>>>>>>>> 1: 0x58:LTO-5 variable 384607 0x1
>>>>>>>>>> 2: 0x58:LTO-5 variable 384607 0x1
>>>>>>>>>> 3: 0x58:LTO-5 variable 384607 0x1
>>>>>>>>>> ---------------------------------
>>>>>>>>>> Current Driver State: at rest.
>>>>>>>>>> ---------------------------------
>>>>>>>>>> File Number: 2 Record Number: -1 Residual Count -1
>>>>>>>>>>
>>>>>>>>>> So the thing to try, in addition to just making sure that Bacula continues
>>>>>>>>>> to work properly, is to try setting this for the tape drive in
>>>>>>>>>> bacula-sd.conf:
>>>>>>>>>>
>>>>>>>>>> Hardware End of Medium = yes
>>>>>>>>>>
>>>>>>>>>> It looks like the Bacula tape program (btape) has a test mode, and it would
>>>>>>>>>> be good to run through the tests on one of the tape drives and see whether
>>>>>>>>>> they work, and whether the results are different before and after the
>>>>>>>>>> changes. I'm not sure how to enable the test mode.
>>>>>>>>>
>>>>>>>>> I have this in /usr/local/etc/bacula/bacula-sd.conf
>>>>>>>>>
>>>>>>>>> Device {
>>>>>>>>> Name = DLT
>>>>>>>>> Description = "QUANTUM DLT7000 1624"
>>>>>>>>> Media Type = DLT
>>>>>>>>> Archive Device = /dev/nsa1
>>>>>>>>>
>>>>>>>>> Autochanger = YES
>>>>>>>>> Drive Index = 0
>>>>>>>>>
>>>>>>>>> Offline On Unmount = no
>>>>>>>>> Hardware End of Medium = yes
>>>>>>>>> BSF at EOM = yes
>>>>>>>>> Backward Space Record = no
>>>>>>>>> Fast Forward Space File = no
>>>>>>>>> TWO EOF = yes
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> FYI, http://www.freebsddiary.org/digital-tl891.php (from 2006) has a btape test on this same model.
>>>>>>>>>
>>>>>>>>> Here's the test I ran tonight:
>>>>>>>>>
>>>>>>>>> [root at cuppy:/usr/home/dan] # btape -c /usr/local/etc/bacula/bacula-sd.conf /dev/nsa1
>>>>>>>>> Tape block granularity is 1024 bytes.
>>>>>>>>> btape: butil.c:287-0 Using device: "/dev/nsa1" for writing.
>>>>>>>>> btape: btape.c:469-0 open device "DLT" (/dev/nsa1): OK
>>>>>>>>> *test
>>>>>>>>>
>>>>>>>>> === Write, rewind, and re-read test ===
>>>>>>>>>
>>>>>>>>> I'm going to write 10000 records and an EOF
>>>>>>>>> then write 10000 records and an EOF, then rewind,
>>>>>>>>> and re-read the data to verify that it is correct.
>>>>>>>>>
>>>>>>>>> This is an *essential* feature ...
>>>>>>>>>
>>>>>>>>> btape: btape.c:1152-0 Wrote 10000 blocks of 64412 bytes.
>>>>>>>>> btape: btape.c:604-0 Wrote 1 EOF to "DLT" (/dev/nsa1)
>>>>>>>>> btape: btape.c:1168-0 Wrote 10000 blocks of 64412 bytes.
>>>>>>>>> btape: btape.c:604-0 Wrote 1 EOF to "DLT" (/dev/nsa1)
>>>>>>>>> btape: btape.c:604-0 Wrote 1 EOF to "DLT" (/dev/nsa1)
>>>>>>>>> btape: btape.c:1210-0 Rewind OK.
>>>>>>>>> 10000 blocks re-read correctly.
>>>>>>>>> Got EOF on tape.
>>>>>>>>> 10000 blocks re-read correctly.
>>>>>>>>> === Test Succeeded. End Write, rewind, and re-read test ===
>>>>>>>>>
>>>>>>>>> btape: btape.c:1277-0 Block position test
>>>>>>>>> btape: btape.c:1289-0 Rewind OK.
>>>>>>>>> Reposition to file:block 0:4
>>>>>>>>> Block 5 re-read correctly.
>>>>>>>>> Reposition to file:block 0:200
>>>>>>>>> Block 201 re-read correctly.
>>>>>>>>> Reposition to file:block 0:9999
>>>>>>>>> Block 10000 re-read correctly.
>>>>>>>>> Reposition to file:block 1:0
>>>>>>>>> Block 10001 re-read correctly.
>>>>>>>>> Reposition to file:block 1:600
>>>>>>>>> Block 10601 re-read correctly.
>>>>>>>>> Reposition to file:block 1:9999
>>>>>>>>> Block 20000 re-read correctly.
>>>>>>>>> === Test Succeeded. End Write, rewind, and re-read test ===
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> === Append files test ===
>>>>>>>>>
>>>>>>>>> This test is essential to Bacula.
>>>>>>>>>
>>>>>>>>> I'm going to write one record in file 0,
>>>>>>>>> two records in file 1,
>>>>>>>>> and three records in file 2
>>>>>>>>>
>>>>>>>>> btape: btape.c:574-0 Rewound "DLT" (/dev/nsa1)
>>>>>>>>> btape: btape.c:1907-0 Wrote one record of 64412 bytes.
>>>>>>>>> btape: btape.c:1909-0 Wrote block to device.
>>>>>>>>> btape: btape.c:604-0 Wrote 1 EOF to "DLT" (/dev/nsa1)
>>>>>>>>> btape: btape.c:1907-0 Wrote one record of 64412 bytes.
>>>>>>>>> btape: btape.c:1909-0 Wrote block to device.
>>>>>>>>> btape: btape.c:1907-0 Wrote one record of 64412 bytes.
>>>>>>>>> btape: btape.c:1909-0 Wrote block to device.
>>>>>>>>> btape: btape.c:604-0 Wrote 1 EOF to "DLT" (/dev/nsa1)
>>>>>>>>> btape: btape.c:1907-0 Wrote one record of 64412 bytes.
>>>>>>>>> btape: btape.c:1909-0 Wrote block to device.
>>>>>>>>> btape: btape.c:1907-0 Wrote one record of 64412 bytes.
>>>>>>>>> btape: btape.c:1909-0 Wrote block to device.
>>>>>>>>> btape: btape.c:1907-0 Wrote one record of 64412 bytes.
>>>>>>>>> btape: btape.c:1909-0 Wrote block to device.
>>>>>>>>> btape: btape.c:604-0 Wrote 1 EOF to "DLT" (/dev/nsa1)
>>>>>>>>> btape: btape.c:604-0 Wrote 1 EOF to "DLT" (/dev/nsa1)
>>>>>>>>> btape: btape.c:469-0 open device "DLT" (/dev/nsa1): OK
>>>>>>>>> btape: btape.c:574-0 Rewound "DLT" (/dev/nsa1)
>>>>>>>>> btape: btape.c:1420-0 Now moving to end of medium.
>>>>>>>>
>>>>>>>> This is the critical piece. The test moves the tape to the end of the
>>>>>>>> medium. With hardware position information, you can tell what filemark
>>>>>>>> you're on. Without it, you can't.
>>>>>>>>
>>>>>>>>> btape: btape.c:622-0 tape_dev.c:345 ioctl MTIOCGET error on "DLT" (/dev/nsa1). ERR=No error: 0.
>>>>>>>>> We should be in file 3. I am at file 0. This is NOT correct!!!!
>>>>>>>>>
>>>>>>>>> Append test failed. Attempting again.
>>>>>>>>> Setting "Hardware End of Medium = no
>>>>>>>>> and "Fast Forward Space File = no
>>>>>>>>> and retrying append test.
>>>>>>>>
>>>>>>>> This is not surprsing, given that the drive doesn't support long read
>>>>>>>> position data. (It's a SCSI-2 device.) So that means that Bacula will
>>>>>>>> need to do it manually.
>>>>>>>
>>>>>>> Yes, I have nothing newer than SCSI-2. Even my SDLT is SCSI-2 but that
>>>>>>> tape library is hooked up to a different computer and was doing backups today.
>>>>>>
>>>>>> So, here is one thing that we can try to see whether these drives support
>>>>>> long position information, even though they only claim to be SCSI-2. If
>>>>>> they do, we can potentially add a quirk (or autodetection) to enable it.
>>>>>> The code currently doesn't bother asking drives that claim to be SCSI-2
>>>>>> for long position information. (Because that feature was added in the
>>>>>> SSC spec, which came after SCSI-2.)
>>>>>>
>>>>>> Issue a READ POSITION with the short form specified:
>>>>>>
>>>>>> camcontrol cmd sa1 -v -c "34 0 0 0 0 0 0 0 0 0" -i 20 - |hd
>>>>>>
>>>>>> Issue a READ POSITION with the vendor-specific block numbers:
>>>>>>
>>>>>> camcontrol cmd sa1 -v -c "34 1 0 0 0 0 0 0 0 0" -i 20 - |hd
>>>>>>
>>>>>> Issue a READ POSITION with the long form data:
>>>>>>
>>>>>> camcontrol cmd sa1 -v -c "34 6 0 0 0 0 0 0 0 0" -i 32 - |hd
>>>>>>
>>>>>> If it supports the last one, then I can put a quirk (or autodetection) in
>>>>>> the driver and Bacula will get the hardware filemarks. You should try this
>>>>>> on your SDLT as well. It may well support it.
>>>>>
>>>>> Sadly, no:
>>>>>
>>>>> [root at cuppy:~] # camcontrol cmd sa1 -v -c "34 0 0 0 0 0 0 0 0 0" -i 20 - |hd
>>>>> 00000000 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
>>>>> 00000010 00 00 00 00 |....|
>>>>> 00000014
>>>>> [root at cuppy:~] # camcontrol cmd sa1 -v -c "34 1 0 0 0 0 0 0 0 0" -i 20 - |hd
>>>>> 00000000 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
>>>>> 00000010 00 00 00 00 |....|
>>>>> 00000014
>>>>> [root at cuppy:~] # camcontrol cmd sa1 -v -c "34 6 0 0 0 0 0 0 0 0" -i 32 - |hd
>>>>> camcontrol: error sending command
>>>>> (pass2:ahc0:0:2:0): READ POSITION. CDB: 34 06 00 00 00 00 00 00 00 00
>>>>> (pass2:ahc0:0:2:0): CAM status: SCSI Status Error
>>>>> (pass2:ahc0:0:2:0): SCSI status: Check Condition
>>>>> (pass2:ahc0:0:2:0): SCSI sense: ILLEGAL REQUEST asc:24,0 (Invalid field in CDB)
>>>>> (pass2:ahc0:0:2:0): Command byte 1 bit 2 is invalid
>>>>> [root at cuppy:~] #
>>>>
>>>> Okay. Not too surprising I suppose.
>
>
> Does this mean much to you?
>
> Mar 2 19:42:59 cuppy kernel: (ahc0:A:2:0): Sending SDTR period 19, offset f
> Mar 2 19:42:59 cuppy kernel: (ahc0:A:2:0): Received SDTR period 19, offset f
> Mar 2 19:42:59 cuppy kernel: Filtered to period 19, offset f
> Mar 2 19:42:59 cuppy kernel: (ahc0:A:2:0): Sending SDTR period 19, offset f
> Mar 2 19:42:59 cuppy kernel: (ahc0:A:2:0): Received SDTR period 19, offset f
> Mar 2 19:42:59 cuppy kernel: Filtered to period 19, offset f
> Mar 2 19:42:59 cuppy kernel: (ahc0:A:2:0): Sending SDTR period 19, offset f
> Mar 2 19:42:59 cuppy kernel: (ahc0:A:2:0): Received SDTR period 19, offset f
> Mar 2 19:42:59 cuppy kernel: Filtered to period 19, offset f
>
>
> I'm having trouble with labeling barcodes from Bacula and the above is seen in /var/log/messages
The barcodes issue is resolved. I changed to using drive 0 instead of drive 1, now that we have both drives.
*label barcodes slots=3,4
The defined Storage resources are:
1: File1
2: OldTL891
Select Storage resource (1-2): 2
Connecting to Storage daemon OldTL891 at 10.55.0.18:9103 ...
3306 Issuing autochanger "slots" command.
Device "DTL03" has 10 slots.
Connecting to Storage daemon OldTL891 at 10.55.0.18:9103 ...
3306 Issuing autochanger "list" command.
The following Volumes will be labeled:
Slot Volume
==============
3 FAI261
4 FAI262
Do you want to label these Volumes? (yes|no): yes
Defined Pools:
1: Default
2: File
3: MYDLT
4: Scratch
Select the Pool (1-4): 4
Connecting to Storage daemon OldTL891 at 10.55.0.18:9103 ...
Sending label command for Volume "FAI261" Slot 3 ...
3000 OK label. VolBytes=64512 DVD=0 Volume="FAI261" Device="DTL03" (/dev/nsa0)
Catalog record for Volume "FAI261", Slot 3 successfully created.
Sending label command for Volume "FAI262" Slot 4 ...
3307 Issuing autochanger "unload slot 3, drive 0" command.
3304 Issuing autochanger "load slot 4, drive 0" command.
3305 Autochanger "load slot 4, drive 0", status is OK.
3000 OK label. VolBytes=64512 DVD=0 Volume="FAI262" Device="DTL03" (/dev/nsa0)
Catalog record for Volume "FAI262", Slot 4 successfully created.
*list volumes
Pool: Default
No results to list.
Pool: File
+---------+------------+-----------+---------+------------+----------+--------------+---------+------+-----------+-----------+---------------------+
| mediaid | volumename | volstatus | enabled | volbytes | volfiles | volretention | recycle | slot | inchanger | mediatype | lastwritten |
+---------+------------+-----------+---------+------------+----------+--------------+---------+------+-----------+-----------+---------------------+
| 1 | Vol-0001 | Append | 1 | 19,835,982 | 0 | 31,536,000 | 1 | 0 | 0 | File1 | 2015-03-02 17:50:40 |
| 2 | Vol-0002 | Append | 1 | 0 | 0 | 31,536,000 | 1 | 0 | 0 | DLT | |
+---------+------------+-----------+---------+------------+----------+--------------+---------+------+-----------+-----------+---------------------+
Pool: MYDLT
No results to list.
Pool: Scratch
+---------+------------+-----------+---------+----------+----------+--------------+---------+------+-----------+-----------+-------------+
| mediaid | volumename | volstatus | enabled | volbytes | volfiles | volretention | recycle | slot | inchanger | mediatype | lastwritten |
+---------+------------+-----------+---------+----------+----------+--------------+---------+------+-----------+-----------+-------------+
| 4 | FAI260 | Append | 1 | 64,512 | 0 | 31,536,000 | 1 | 1 | 1 | DLT | |
| 5 | FAI263 | Append | 1 | 64,512 | 0 | 31,536,000 | 1 | 2 | 1 | DLT | |
| 7 | FAI261 | Append | 1 | 64,512 | 0 | 31,536,000 | 1 | 3 | 1 | DLT | |
| 8 | FAI262 | Append | 1 | 64,512 | 0 | 31,536,000 | 1 | 4 | 1 | DLT | |
+---------+------------+-----------+---------+----------+----------+--------------+---------+------+-----------+-----------+-------------+
*
But this is what arrives in /var/log/messages during the above:
Mar 2 20:29:06 cuppy kernel: (ahc0:A:1:0): Sending SDTR period 19, offset f
Mar 2 20:29:06 cuppy kernel: (ahc0:A:1:0): Received SDTR period 19, offset f
Mar 2 20:29:06 cuppy kernel: Filtered to period 19, offset f
Mar 2 20:30:22 cuppy kernel: (ahc0:A:1:0): Sending SDTR period 19, offset f
Mar 2 20:30:22 cuppy kernel: (ahc0:A:1:0): Received SDTR period 19, offset f
Mar 2 20:30:22 cuppy kernel: Filtered to period 19, offset f
Mar 2 20:30:22 cuppy kernel: (ahc0:A:1:0): Sending SDTR period 19, offset f
Mar 2 20:30:22 cuppy kernel: (ahc0:A:1:0): Received SDTR period 19, offset f
Mar 2 20:30:22 cuppy kernel: Filtered to period 19, offset f
Mar 2 20:30:59 cuppy kernel: (ahc0:A:1:0): Sending SDTR period 19, offset f
Mar 2 20:30:59 cuppy kernel: (ahc0:A:1:0): Received SDTR period 19, offset f
Mar 2 20:30:59 cuppy kernel: Filtered to period 19, offset f
Mar 2 20:30:59 cuppy kernel: xpt_release_devq(): requested 1 > present 0
Mar 2 20:31:07 cuppy kernel: (ahc0:A:1:0): Sending SDTR period 19, offset f
Mar 2 20:31:07 cuppy kernel: (ahc0:A:1:0): Received SDTR period 19, offset f
Mar 2 20:31:07 cuppy kernel: Filtered to period 19, offset f
Anything to be concerned about?
>
>>>>
>>>>> The SDLT server is on 9.3 though:
>>>>>
>>>>> [root at knew:/usr/home/dan] # camcontrol cmd sa1 -v -c "34 0 0 0 0 0 0 0 0 0" -i 20 - |hd
>>>>> camcontrol: cam_lookup_pass: CAMGETPASSTHRU ioctl failed
>>>>> cam_lookup_pass: No such file or directory
>>>>> cam_lookup_pass: either the pass driver isn't in your kernel
>>>>> cam_lookup_pass: or sa1 doesn't exist
>>>>> [root at knew:/usr/home/dan] # uname -a
>>>>> FreeBSD knew.unixathome.org 9.3-RELEASE-p10 FreeBSD 9.3-RELEASE-p10 #0: Tue Feb 24 21:28:03 UTC 2015 root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
>>>>> [root at knew:/usr/home/dan] #
>>>>>
>>>>>
>>>>> It took me a while to figure that out... there is no sa1 on *this* system.
>>>>>
>>>>> But, my SDLT:
>>>>>
>>>>> [root at knew:/usr/home/dan] # camcontrol cmd sa0 -v -c "34 0 0 0 0 0 0 0 0 0" -i 20 - |hd
>>>>> 00000000 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
>>>>> 00000010 00 00 00 00 |....|
>>>>> 00000014
>>>>> [root at knew:/usr/home/dan] # camcontrol cmd sa0 -v -c "34 1 0 0 0 0 0 0 0 0" -i 20 - |hd
>>>>> 00000000 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
>>>>> 00000010 00 00 00 00 |....|
>>>>> 00000014
>>>>> [root at knew:/usr/home/dan] # camcontrol cmd sa0 -v -c "34 6 0 0 0 0 0 0 0 0" -i 32 - |hd
>>>>> 00000000 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
>>>>> 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
>>>>> 00000020
>>>>> [root at knew:/usr/home/dan] #
>>>>
>>>> Just to confirm, can you send the output of:
>>>>
>>>> camcontrol inquiry sa0 -v
>>>>
>>>> I want to make certain it reports that it is SCSI-2. If so, I'll change
>>>> the check in the driver to try asking for long position information on
>>>> SCSI-2 devices. If it fails, it'll fall back to the regular method.
>>>
>>> [dan at knew:~] $ sudo camcontrol inquiry sa0 -v
>>> pass10: <COMPAQ SuperDLT1 5F5F> Removable Sequential Access SCSI-2 device
>>> pass10: Serial Number CXB46H0716
>>> pass10: 80.000MB/s transfers (40.000MHz, offset 31, 16bit)
>>> [dan at knew:~] $
>>
>> Okay. Doing the check doesn't cause any problems on my collection of old
>> tape drives, so I'll go ahead and enable checking on SCSI-2 devices.
>>
>> The primary thing is just making sure it doesn't cause tape drive to choke
>> if we request long position information. It doesn't appear to be an
>> issue. If we do run into one, we can put in a quirk.
>>
>> Ken
>> --
>> Kenneth Merry
>> ken at FreeBSD.ORG
>
> —
> Dan Langille
> http://langille.org/
>
>
>
>
>
—
Dan Langille
http://langille.org/
More information about the freebsd-scsi
mailing list