diff options
author | Pedro Martelletto <pedro@cvs.openbsd.org> | 2005-06-27 22:08:40 +0000 |
---|---|---|
committer | Pedro Martelletto <pedro@cvs.openbsd.org> | 2005-06-27 22:08:40 +0000 |
commit | b4d7eb49c72a83fe2a5a4a2f0cf4dc4a164e3589 (patch) | |
tree | 13f3178327da42bb13565c53f44227ef7175d10f /sys/kern | |
parent | 9a9c0b61dd0f79befde8177657e497acb74c179d (diff) |
When releasing a buffer and disassociating it from its vnode, there's
no point in placing the buffer in the vnode's clean list just to remove
it afterwards. Talked over with art@, various testing for a while.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/vfs_bio.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 2a96622bdcb..fc05d3afd09 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vfs_bio.c,v 1.76 2005/06/17 16:45:02 pedro Exp $ */ +/* $OpenBSD: vfs_bio.c,v 1.77 2005/06/27 22:08:39 pedro Exp $ */ /* $NetBSD: vfs_bio.c,v 1.44 1996/06/11 11:15:36 pk Exp $ */ /*- @@ -504,10 +504,9 @@ brelse(struct buf *bp) CLR(bp->b_flags, B_DELWRI); } - if (bp->b_vp) { - reassignbuf(bp); + if (bp->b_vp) brelvp(bp); - } + if (bp->b_bufsize <= 0) { /* no data */ bufq = &bufqueues[BQ_EMPTY]; |