NetBSD-Bugs archive

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

Re: kern/38762: panic: vwakeup: neg numoutput



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

From: Antti Kantee <pooka%cs.hut.fi@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: kern/38762: panic: vwakeup: neg numoutput
Date: Mon, 28 Jul 2008 03:31:15 +0300

 On Sun Jul 27 2008 at 22:30:02 +0000, Greg Oster wrote:
 > The following reply was made to PR kern/38762; it has been noted by GNATS.
 > 
 > From: Greg Oster <oster%cs.usask.ca@localhost>
 > To: gnats-bugs%NetBSD.org@localhost
 > Cc: 
 > Subject: Re: kern/38762: panic: vwakeup: neg numoutput 
 > Date: Sun, 27 Jul 2008 16:27:36 -0600
 > 
 >  Andreas Gustafsson writes:
 >  > The following reply was made to PR kern/38762; it has been noted by GNATS.
 >  > 
 >  > From: gson%gson.org@localhost (Andreas Gustafsson)
 >  > To: gnats-bugs%NetBSD.org@localhost
 >  > Cc: 
 >  > Subject: Re: kern/38762: panic: vwakeup: neg numoutput
 >  > Date: Sun, 27 Jul 2008 21:49:10 +0300
 >  > 
 >  >  The panic still happens with 4.99.70 (source date 20080725-1531 EET).
 >  
 >  I'm unable to replicate this panic, but could you try this patch and 
 >  see if it changes anything? 
 
 Very unlikely because a) genfs_compat_gop_write() is for file systems
 which don't support UBC (unlike ffs) and b) the numoutput is for the
 write done to the buffer from getiobuf(), not VOP_WRITE().
 
 Probably a problem with usb, scsi, or whatever.
 
 >  Thanks.
 >  
 >  Later...
 >  
 >  Greg Oster
 >  
 >  -----------
 >  Index: genfs_io.c
 >  ===================================================================
 >  RCS file: /cvsroot/src/sys/miscfs/genfs/genfs_io.c,v
 >  retrieving revision 1.8.2.1
 >  diff -u -r1.8.2.1 genfs_io.c
 >  --- genfs_io.c      10 Jun 2008 14:51:22 -0000      1.8.2.1
 >  +++ genfs_io.c      27 Jul 2008 22:23:43 -0000
 >  @@ -1513,13 +1513,14 @@
 >      uio.uio_rw = UIO_WRITE;
 >      uio.uio_resid = npages << PAGE_SHIFT;
 >      UIO_SETUP_SYSSPACE(&uio);
 >  -   /* XXX vn_lock */
 >  -   error = VOP_WRITE(vp, &uio, 0, cred);
 >   
 >      mutex_enter(&vp->v_interlock);
 >      vp->v_numoutput++;
 >      mutex_exit(&vp->v_interlock);
 >   
 >  +   /* XXX vn_lock */
 >  +   error = VOP_WRITE(vp, &uio, 0, cred);
 >  +
 >      bp = getiobuf(vp, true);
 >      bp->b_cflags = BC_BUSY | BC_AGE;
 >      bp->b_lblkno = offset >> vp->v_mount->mnt_fs_bshift;
 >  
 >  
 >  
 


Home | Main Index | Thread Index | Old Index