Certain vnode buffer list operations were not being spl protected,

and they needed to be.  Brelse for example can be called at interrupt
level, and the buffer list operations were not being protected from it.
This commit is contained in:
John Dyson 1996-08-15 06:45:01 +00:00
parent bd01a3d4e1
commit 619594e898
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=17605
2 changed files with 10 additions and 2 deletions

View file

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_subr.c 8.13 (Berkeley) 4/18/94
* $Id: vfs_subr.c,v 1.56 1996/07/24 21:21:43 phk Exp $
* $Id: vfs_subr.c,v 1.57 1996/07/30 18:00:25 bde Exp $
*/
/*
@ -639,11 +639,14 @@ reassignbuf(bp, newvp)
register struct vnode *newvp;
{
register struct buflists *listheadp;
int s;
if (newvp == NULL) {
printf("reassignbuf: NULL");
return;
}
s = splbio();
/*
* Delete from old vnode list, if on one.
*/
@ -670,6 +673,7 @@ reassignbuf(bp, newvp)
listheadp = &newvp->v_cleanblkhd;
bufinsvn(bp, listheadp);
}
splx(s);
}
#ifndef DEVFS_ROOT

View file

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_subr.c 8.13 (Berkeley) 4/18/94
* $Id: vfs_subr.c,v 1.56 1996/07/24 21:21:43 phk Exp $
* $Id: vfs_subr.c,v 1.57 1996/07/30 18:00:25 bde Exp $
*/
/*
@ -639,11 +639,14 @@ reassignbuf(bp, newvp)
register struct vnode *newvp;
{
register struct buflists *listheadp;
int s;
if (newvp == NULL) {
printf("reassignbuf: NULL");
return;
}
s = splbio();
/*
* Delete from old vnode list, if on one.
*/
@ -670,6 +673,7 @@ reassignbuf(bp, newvp)
listheadp = &newvp->v_cleanblkhd;
bufinsvn(bp, listheadp);
}
splx(s);
}
#ifndef DEVFS_ROOT