DF-5787 / fix.diff
--- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -746,6 +746,7 @@ for (bio = &bp->b_bio1; bio; bio = bio->bio_next) { bio->bio_done = NULL; + bio->bio_flags = 0; bio->bio_offset = NOOFFSET; } } @@ -917,7 +918,7 @@ bp->b_flags |= bflags; bp->b_cmd = BUF_CMD_READ; bp->b_bio1.bio_done = biodone_sync; - bp->b_bio1.bio_flags |= BIO_SYNC; + bp->b_bio1.bio_flags = BIO_SYNC; vfs_busy_pages(vp, bp); vn_strategy(vp, &bp->b_bio1); ++readwait; @@ -987,7 +988,7 @@ bp->b_cmd = BUF_CMD_WRITE; bp->b_error = 0; bp->b_bio1.bio_done = biodone_sync; - bp->b_bio1.bio_flags |= BIO_SYNC; + bp->b_bio1.bio_flags = BIO_SYNC; vfs_busy_pages(bp->b_vp, bp); /* |