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>
This commit is contained in:
Kirk McKusick 2000-01-30 20:32:59 +00:00
parent e606666d7b
commit 4434ff1d38
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=56908
2 changed files with 4 additions and 2 deletions

View file

@ -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;
}

View file

@ -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;
}