Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Jun 1995 08:40:51 +0200 (MET DST)
From:      J Wunsch <j@uriah.heep.sax.de>
To:        freebsd-hackers@freebsd.org (FreeBSD hackers)
Subject:   Re: kernel page fault while doing tar to /dev/rft0
Message-ID:  <199506040640.IAA26014@uriah.heep.sax.de>
In-Reply-To: <199506040429.VAA18283@gndrsh.aac.dev.com> from "Rodney W. Grimes" at Jun 3, 95 09:29:42 pm

next in thread | previous in thread | raw e-mail | index | archive | help
As Rodney W. Grimes wrote:
> 
> > 
> > > Yes, it is a derefernced null some place in the Driver, some one
> > > is suppose to be working on fixing this but I have not heard from
> > > them in 2 months :-(.
> > 
> > About three weeks.  I just finished getting settled from a big move
> > from my apartment.  Fun stuff.
> 
> It was not you I was refering to :-).

Huh, i don't hope you think about me here?


Anyway, i don't have a (working) floppy tape drive either, but i
figured that your last changes to the code _should_ have fixed this
behaviour, so i didn't pursue it anymore.  (The bug report which
started this thread referred to 2.0R.)

Here's the relevant part:

void
fdstrategy(struct buf *bp)
{
        register struct buf *dp;
        long nblocks, blknum;
        int     s;
        fdcu_t  fdcu;
        fdu_t   fdu;
        fdc_p   fdc;
        fd_p    fd;
        size_t  fdblk;

        fdu = FDUNIT(minor(bp->b_dev));
        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) {
                /* ft tapes do not (yet) support strategy i/o */
                bp->b_error = ENXIO;
                bp->b_flags |= B_ERROR;
                goto bad;
        }


Actually, you're right.  It's apparently not yet fixed.  The five
lines above #if NFT > 0 should be moved below; i think the offending
expression is ``fd->ft->secsize''.

This has been introduced with revision 1.30 of fd.c, which is supposed
to move over the final version from 1.1.5.1 into the V2 source tree.


CAN SOMEBODY WITH A WORKING FLOPPY TAPE PLEASE CHECK IF THE SUGGESTED
FIX (move 5 lines below the #ifdef block) WOULD WORK?  THIS MUST GO
INTO 2.0.5!!!

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199506040640.IAA26014>