summaryrefslogtreecommitdiffstats
path: root/sys/contrib
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2000-01-30 20:32:59 +0000
committermckusick <mckusick@FreeBSD.org>2000-01-30 20:32:59 +0000
commit541e13d43c95199da17e99c4ba4f8b29c7c4afc4 (patch)
treeee71d68ec2c2f99d6a69e9b63d2c89e8e6b62974 /sys/contrib
parentfc44169a9a0f7040beece77862b6cb42cd9f1b8d (diff)
downloadFreeBSD-src-541e13d43c95199da17e99c4ba4f8b29c7c4afc4.zip
FreeBSD-src-541e13d43c95199da17e99c4ba4f8b29c7c4afc4.tar.gz
When writing out bitmap buffers, need to skip over ones that already
have a write in progress. Otherwise one can get in an infinite loop trying to get them all flushed. Submitted by: Matthew Dillon <dillon@apollo.backplane.com>
Diffstat (limited to 'sys/contrib')
-rw-r--r--sys/contrib/softupdates/ffs_softdep.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/contrib/softupdates/ffs_softdep.c b/sys/contrib/softupdates/ffs_softdep.c
index b061792..a137ce7 100644
--- a/sys/contrib/softupdates/ffs_softdep.c
+++ b/sys/contrib/softupdates/ffs_softdep.c
@@ -3817,7 +3817,8 @@ softdep_fsync_mountdev(vp)
* dependencies.
*/
if ((wk = LIST_FIRST(&bp->b_dep)) == NULL ||
- wk->wk_type != D_BMSAFEMAP) {
+ wk->wk_type != D_BMSAFEMAP ||
+ (bp->b_xflags & BX_BKGRDINPROG)) {
BUF_UNLOCK(bp);
continue;
}
OpenPOWER on IntegriCloud