NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/39929 (NetBSD 5.0_BETA kernel panics when trying to access /dev/rcd0d with growisofs)



The following reply was made to PR kern/39929; it has been noted by GNATS.

From: Tomasz Homa <th%risp.pl@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: kern/39929 (NetBSD 5.0_BETA kernel panics when trying to
        access /dev/rcd0d with growisofs)
Date: Mon, 1 Dec 2008 11:44:31 +0100

 * Joerg Sonnenberger <joerg%britannica.bec.de@localhost> [2008-11-30 23:00:08 
+0000]:
 
 >The following reply was made to PR kern/39929; it has been noted by GNATS.
 >
 >From: Joerg Sonnenberger <joerg%britannica.bec.de@localhost>
 >To: gnats-bugs%NetBSD.org@localhost
 >Cc: 
 >Subject: Re: kern/39929 (NetBSD 5.0_BETA kernel panics when trying to
 >      access /dev/rcd0d with growisofs)
 >Date: Sun, 30 Nov 2008 23:57:10 +0100
 >
 > --huq684BweRXVnRxX
 > Content-Type: text/plain; charset=us-ascii
 > Content-Disposition: inline
 > 
 > On Sun, Nov 30, 2008 at 10:54:59PM +0000, joerg%NetBSD.org@localhost wrote:
 > > I'll fix it.
 > 
 > Please try the attached patch.
 > 
 > Joerg
 > 
 > --huq684BweRXVnRxX
 > Content-Type: text/plain; charset=us-ascii
 > Content-Disposition: attachment; filename="genfs_io.c.diff"
 > 
 > Index: genfs_io.c
 > ===================================================================
 > RCS file: /cvsroot/src/sys/miscfs/genfs/genfs_io.c,v
 > retrieving revision 1.15
 > diff -u -p -r1.15 genfs_io.c
 > --- genfs_io.c       16 Nov 2008 19:34:29 -0000      1.15
 > +++ genfs_io.c       30 Nov 2008 22:55:42 -0000
 > @@ -1560,6 +1560,8 @@ genfs_directio(struct vnode *vp, struct 
 >      size_t len;
 >      const int mask = DEV_BSIZE - 1;
 >      int error;
 > +    bool need_wapbl = (vp->v_mount && vp->v_mount->mnt_wapbl &&
 > +        (ioflag & IO_JOURNALLOCKED) == 0);
 >  
 >      /*
 >       * We only support direct I/O to user space for now.
 > @@ -1581,7 +1583,7 @@ genfs_directio(struct vnode *vp, struct 
 >              return;
 >      }
 >  
 > -    if ((ioflag & IO_JOURNALLOCKED) == 0) {
 > +    if (need_wapbl) {
 >              error = WAPBL_BEGIN(vp->v_mount);
 >              if (error)
 >                      return;
 > @@ -1633,7 +1635,7 @@ genfs_directio(struct vnode *vp, struct 
 >              uio->uio_resid -= len;
 >      }
 >  
 > -    if ((ioflag & IO_JOURNALLOCKED) == 0)
 > +    if (need_wapbl)
 >              WAPBL_END(vp->v_mount);
 >  }
 >  
 > 
 > --huq684BweRXVnRxX--
 > 
 
 Now it's working like a charm. :-)  Thanks a lot!
 
 -- 
 Best Regards,
 Tomasz Homa
 


Home | Main Index | Thread Index | Old Index