diff options
author | dfr <dfr@FreeBSD.org> | 1998-08-13 08:09:08 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1998-08-13 08:09:08 +0000 |
commit | cb85cf3e66942eabeff656173ac75b9275fa61fe (patch) | |
tree | 0f2c440ae29cf3c8695d77275be9d3ffe4f4a18a /sys/kern/vfs_cluster.c | |
parent | a1b2079000fa319fd6e9ee79ceb8d15d4bbd55d5 (diff) | |
download | FreeBSD-src-cb85cf3e66942eabeff656173ac75b9275fa61fe.zip FreeBSD-src-cb85cf3e66942eabeff656173ac75b9275fa61fe.tar.gz |
Protect all modifications to v_numoutput with splbio().
Diffstat (limited to 'sys/kern/vfs_cluster.c')
-rw-r--r-- | sys/kern/vfs_cluster.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c index 94da3f7..3f969ad 100644 --- a/sys/kern/vfs_cluster.c +++ b/sys/kern/vfs_cluster.c @@ -33,7 +33,7 @@ * SUCH DAMAGE. * * @(#)vfs_cluster.c 8.7 (Berkeley) 2/13/94 - * $Id: vfs_cluster.c,v 1.66 1998/07/29 17:38:14 bde Exp $ + * $Id: vfs_cluster.c,v 1.67 1998/08/06 08:33:18 dfr Exp $ */ #include "opt_debug_cluster.h" @@ -798,11 +798,13 @@ cluster_wbuild(vp, size, start_lbn, len) bp->b_bcount += size; bp->b_bufsize += size; + s = splbio(); --numdirtybuffers; tbp->b_flags &= ~(B_READ | B_DONE | B_ERROR | B_DELWRI); tbp->b_flags |= B_ASYNC; reassignbuf(tbp, tbp->b_vp); /* put on clean list */ ++tbp->b_vp->v_numoutput; + splx(s); TAILQ_INSERT_TAIL(&bp->b_cluster.cluster_head, tbp, b_cluster.cluster_entry); } |