Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Mar 1997 12:30:01 -0800 (PST)
From:      David Greenman <dg@root.com>
To:        freebsd-bugs
Subject:   Re: kern/2875: vinvalbuf() clobbers b_vnbufs chain 
Message-ID:  <199703042030.MAA13938@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/2875; it has been noted by GNATS.

From: David Greenman <dg@root.com>
To: kato@eclogite.eps.nagoya-u.ac.jp
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: kern/2875: vinvalbuf() clobbers b_vnbufs chain 
Date: Tue, 04 Mar 1997 12:21:09 -0800

    Hmmm, the fix seems overly complicated. How about this instead:
 
 Index: vfs_subr.c
 ===================================================================
 RCS file: /home/ncvs/src/sys/kern/vfs_subr.c,v
 retrieving revision 1.64.2.2
 diff -c -r1.64.2.2 vfs_subr.c
 *** vfs_subr.c	1997/02/28 11:11:50	1.64.2.2
 --- vfs_subr.c	1997/03/04 20:17:51
 ***************
 *** 502,510 ****
   				error = tsleep((caddr_t) bp,
   				    slpflag | (PRIBIO + 1), "vinvalbuf",
   				    slptimeo);
 ! 				splx(s);
 ! 				if (error)
   					return (error);
   				break;
   			}
   			bremfree(bp);
 --- 502,511 ----
   				error = tsleep((caddr_t) bp,
   				    slpflag | (PRIBIO + 1), "vinvalbuf",
   				    slptimeo);
 ! 				if (error) {
 ! 					splx(s);
   					return (error);
 + 				}
   				break;
   			}
   			bremfree(bp);
 ***************
 *** 523,535 ****
   			brelse(bp);
   		}
   	}
 - 	splx(s);
   
 - 	s = splbio();
   	while (vp->v_numoutput > 0) {
   		vp->v_flag |= VBWAIT;
   		tsleep(&vp->v_numoutput, PVM, "vnvlbv", 0);
   	}
   	splx(s);
   
   	/*
 --- 524,535 ----
   			brelse(bp);
   		}
   	}
   
   	while (vp->v_numoutput > 0) {
   		vp->v_flag |= VBWAIT;
   		tsleep(&vp->v_numoutput, PVM, "vnvlbv", 0);
   	}
 + 
   	splx(s);
   
   	/*
 
 -DG
 
 David Greenman
 Core-team/Principal Architect, The FreeBSD Project



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