mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-22 17:54:52 +00:00
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:
parent
bd01a3d4e1
commit
619594e898
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=17605
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue