summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2000-01-18 02:13:26 +0000
committermckusick <mckusick@FreeBSD.org>2000-01-18 02:13:26 +0000
commit41c200930cdd2079853d2198feb1bd858ec26f1b (patch)
treec26a9a40a22b4116eda0050aa77131c9600968bc
parent19a5ef96d9461944ad98ddab0e242cc4f3974211 (diff)
downloadFreeBSD-src-41c200930cdd2079853d2198feb1bd858ec26f1b.zip
FreeBSD-src-41c200930cdd2079853d2198feb1bd858ec26f1b.tar.gz
Need to reset the buffer pointer to avoid reconsidering the same buffer
again (without this the rollback analysis was being lost). Should reduce the write count for most workloads. Submitted by: Craig A Soules <soules+@andrew.cmu.edu>
-rw-r--r--sys/kern/vfs_bio.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
index 2ef57c5..5868604 100644
--- a/sys/kern/vfs_bio.c
+++ b/sys/kern/vfs_bio.c
@@ -1907,6 +1907,7 @@ flushbufqueues(void)
TAILQ_INSERT_TAIL(&bufqueues[QUEUE_DIRTY],
bp, b_freelist);
bp->b_flags |= B_DEFERRED;
+ bp = TAILQ_FIRST(&bufqueues[QUEUE_DIRTY]);
continue;
}
vfs_bio_awrite(bp);
OpenPOWER on IntegriCloud