From 6862688995c34f4904434a46717e1dd39c1d9e85 Mon Sep 17 00:00:00 2001 From: jeff Date: Tue, 4 Apr 2006 06:44:21 +0000 Subject: [PATCH] - Properly check against B_DELWRI and B_NEEDSGIANT. This check was incorrectly written and caused some !NEEDSGIANT buffers to be put in the NEEDSGIANT queue. Sponsored by: Isilon Systems, Inc. --- sys/kern/vfs_bio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index c957b06e77fc..0e43072f00a3 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -1357,7 +1357,8 @@ brelse(struct buf *bp) TAILQ_INSERT_HEAD(&bufqueues[QUEUE_CLEAN], bp, b_freelist); /* remaining buffers */ } else { - if (bp->b_flags & (B_DELWRI|B_NEEDSGIANT)) + if ((bp->b_flags & (B_DELWRI|B_NEEDSGIANT)) == + (B_DELWRI|B_NEEDSGIANT)) bp->b_qindex = QUEUE_DIRTY_GIANT; if (bp->b_flags & B_DELWRI) bp->b_qindex = QUEUE_DIRTY;