kern/50691: EOT detection in sa driver prevents mutli volume dump

Bruce Evans bde at zeta.org.au
Mon Apr 7 21:33:47 PDT 2003


On Mon, 7 Apr 2003 lkoeller at freebsd.org wrote:

> >Description:
>
> When dumping a volume on an SCSI magnetic tape, a tape change request
> leads to the abort of the dump process (dump ant tape on same machine):
> ...
> Note: I notice a change of the behaviour of the tape driver somehow in October
> 2002. Till there a EOT of the tape was correct signaled by the driver during
> writing. After there was only an error reportet and the nuber of bytes written:

This was the only change in the driver between 4.7 and 4.8.

%%%
RCS file: /home/ncvs/src/sys/cam/scsi/scsi_sa.c,v
Working file: scsi_sa.c
head: 1.92
...
----------------------------
revision 1.85
date: 2002/12/16 17:40:17;  author: trhodes;  state: Exp;  lines: +4 -0
The HP DAT 40 tape drive should be able to handle variable block sizes.
But for some reason the block size is different when a different type of
tape is placed in the drive.  This commit fixes that.

PR:		46209
Submitted by:	Alex Wang <alex at alexwang.com>
Approved by:	mjacob
----------------------------
%%%

%%%
Index: scsi_sa.c
===================================================================
RCS file: /home/ncvs/src/sys/cam/scsi/scsi_sa.c,v
retrieving revision 1.45.2.12
retrieving revision 1.45.2.13
diff -u -r1.45.2.12 -r1.45.2.13
--- scsi_sa.c	2 Aug 2002 06:25:56 -0000	1.45.2.12
+++ scsi_sa.c	17 Dec 2002 17:08:50 -0000	1.45.2.13
[Id change deleted]
@@ -304,6 +304,10 @@
 		  "C15*", "*"}, SA_QUIRK_VARIABLE|SA_QUIRK_NO_CPAGE, 0,
 	},
 #endif
+	{
+		{ T_SEQUENTIAL, SIP_MEDIA_REMOVABLE, "HP",
+		  "C56*", "*"}, SA_QUIRK_VARIABLE|SA_QUIRK_2FM, 0
+	},
 	{
 		{ T_SEQUENTIAL, SIP_MEDIA_REMOVABLE, "HP",
 		  "T20*", "*"}, SA_QUIRK_FIXED|SA_QUIRK_1FM, 512
%%%

Try changing the code to match the log message.  The log message only
claims to change to variable block sizes, but the code also sets the
EOD handling and this is apparently causes changed and wrong EOD handling.
The wildcards are also inconsistent with the log message.

Bruce


More information about the freebsd-bugs mailing list