From owner-freebsd-hackers Mon Jun 5 18:23:06 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id SAA19121 for hackers-outgoing; Mon, 5 Jun 1995 18:23:06 -0700 Received: from genesis.tiac.net (genesis.tiac.net [204.180.76.1]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id SAA19115 for ; Mon, 5 Jun 1995 18:22:59 -0700 Received: by genesis.tiac.net (8.6.9/genesis0.0) id VAA23834; Mon, 5 Jun 1995 21:22:44 -0400 Date: Mon, 5 Jun 1995 21:22:44 -0400 From: steve2@genesis.tiac.net (Steve Gerakines) Message-Id: <199506060122.VAA23834@genesis.tiac.net> To: hackers@freebsd.org Subject: Re: kernel page fault while doing tar to /dev/rft0 Sender: hackers-owner@freebsd.org Precedence: bulk > > > I can visually see that this patch would be wrong, [...] > > Shit. Is anybody going to spend me a floppy tape drive? I'm sick > > of being held responsible of code i couldn't even test... sigh. Joerg is right-- the block of code should be changed: *** fd.c.orig Mon Jun 5 21:10:41 1995 --- fd.c Mon Jun 5 21:11:02 1995 *************** *** 1013,1019 **** fd = &fd_data[fdu]; fdc = fd->fdc; fdcu = fdc->fdcu; - fdblk = 128 << (fd->ft->secsize); #if NFT > 0 if (FDTYPE(minor(bp->b_dev)) & F_TAPE_TYPE) { --- 1013,1018 ---- *************** *** 1031,1036 **** --- 1030,1037 ---- goto bad; } #endif + fdblk = 128 << (fd->ft->secsize); + if (!(bp->b_flags & B_FORMAT)) { if ((fdu >= NFD) || (bp->b_blkno < 0)) { printf( The reason being that fd->ft gets initialized at the bottom of the fdopen() routine, which for tape drives is never reached. Not too complex. I didn't realize that ftstrategy() was no longer being reached at all. The code still should be tested but it looks right. > Jordan, I would like to request a ``floppy tape'' drive for the test > engineering lab at accurate automation. I can pick one up wholesale, > or you can send me an old piece of junk you have around there (I > seem to recall one or two of them just laying in the back room on > the shelf). If you run across any refurbished Colorado 350 drives or someone is looking to unload one please let me know. I'd like to add support for the newer drives but it is becoming apparent that it's impossible unless I have one around to bang on. (I can add the code according to the specs but it's really a nightmare when things go wrong.) > We can't get this stuff working as the only person very seriously involved > with the code is still running 1.1.5.1 :-(. Works great! :-) I'm going to pick up the 2.0.5 CD so I should be in the present soon. - Steve steve2@genesis.tiac.net