From owner-freebsd-scsi Wed Apr 28 8:40:12 1999 Delivered-To: freebsd-scsi@freebsd.org Received: from feral.com (feral.com [192.67.166.1]) by hub.freebsd.org (Postfix) with ESMTP id 67731150E9 for ; Wed, 28 Apr 1999 08:40:06 -0700 (PDT) (envelope-from mjacob@feral.com) Received: from feral.com (mjacob@feral.com [192.67.166.1]) by feral.com (8.8.7/8.8.7) with ESMTP id IAA24907; Wed, 28 Apr 1999 08:39:34 -0700 Date: Wed, 28 Apr 1999 08:39:34 -0700 (PWT) From: Matthew Jacob Reply-To: mjacob@feral.com To: Joerg Wunsch , Juergen Lock Cc: freebsd-scsi@FreeBSD.ORG Subject: Re: QIC tape problems on -stable (was: hanging `tar xfvR /dev/nrst0' process, can i debug it?) In-Reply-To: <19990428091622.29861@uriah.heep.sax.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-scsi@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > As Juergen Lock wrote: > > > Huh!?? Why on earth is it trying to write filemarks?? Good that the > > tape was write protected... > > Ouch! It seems `mt rdhpos' and/or `mt rdspos' trashed my backup tape > as well... Both reported 0 (correctly, the tape was at BOT), but any > attempt to `mt fsr' afterwards yielded a blank check. > > :-( > Sorry- I really hadn't parsed the previous message. These are *amazingly* broken drives then. The SCSI specification says that a write of *zero* filemarks is to flush any pending writes. You have to do this when you do a read hardware position in order to avoid an ambiguity in the spec as to the true position as affected by data in the tape drive buffer. This is not an abstruse edge case in the SCSI spec. This is common sense as well. I believe that the writers of QIC f/w should be sent to Redmond for the rest of their miserable lives. The only other time filemarks are written is when you explicitly do them via the ioctl or at saclose time when SA_FLAG_TAPE_WRITTEN was set (which is only set after a block I/O write of data). There's a limited amount we can do to get around completely broken hardware. I'm sorry you've got broken h/w here if it's doing this when it receives a zero count. This hardware should be thrown out. Or don't try use the read h/w position. This may sound offensive, but there it is. Or buy a Siemens system where they're just as lackadaisical with specs and tend to lose sales to real engineering. -matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message