Return to BSD News archive
Newsgroups: comp.unix.bsd Path: sserve!manuel!munnari.oz.au!uunet!zaphod.mps.ohio-state.edu!usc!elroy.jpl.nasa.gov!ucla-cs!ucla-mic!scott From: scott@pita.cns.ucla.edu (Scott Burris) Subject: 386BSD 0.1: variable blocksize tape on SCSI bugfix Message-ID: <1992Jul27.130522.11907@mic.ucla.edu> Nntp-Posting-Host: pita.cns.ucla.edu Reply-To: scott@pita.cns.ucla.edu (Scott Burris) Organization: UCLA Campus Network Services Date: 27 Jul 92 13:05:21 PDT Lines: 25 The SCSI driver is broken for variable length tape devices. The problem is that the data transfer length is computed by code which assumes a fixed block tape drive. This causes the computer to transfer less data than the SCSI transaction calls for, which hangs the SCSI bus. Context diff's follow. *** as.c Sun Jul 19 08:15:02 1992 --- as.c.orig Sat Jul 18 20:10:32 1992 *************** *** 899,906 **** n = 0; sp = as->scatter_list; nscatter = 0; - if (as->tape && as->bs == 1) - total = bp->b_bcount; while (n < total && nscatter < NSCATTER) { thistime = page_size - ((vm_offset_t)p - trunc_page (p)); --- 889,894 ---- -- ---------- Scott Burris UCLA Campus Network Services cnetslb@oac.ucla.edu (213) 206-4860 - OR - scott@pita.cns.ucla.edu