diff options
| author | Poul-Henning Kamp <phk@FreeBSD.org> | 2002-09-15 17:52:35 +0000 |
|---|---|---|
| committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2002-09-15 17:52:35 +0000 |
| commit | f986355c0e7b54beeab601e568e84e0ae012663b (patch) | |
| tree | da96f49d65ebdb1454dfbe20652722d5bfc25b51 /sys/kern | |
| parent | e9a6d3b44cf060398e1189cbd0cf352fa1aa2ccf (diff) | |
Notes
Diffstat (limited to 'sys/kern')
| -rw-r--r-- | sys/kern/vfs_bio.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 3ef984a1e1e6..7c8b16da9309 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -2819,18 +2819,19 @@ biodone(struct bio *bp) /* * Wait for a BIO to finish. - * XXX: For now resort to a timeout, the optimal locking (if any) for this - * case is not at this point obvious. + * + * XXX: resort to a timeout for now. The optimal locking (if any) for this + * case is not yet clear. */ int biowait(struct bio *bp, const char *wchan) { while ((bp->bio_flags & BIO_DONE) == 0) - msleep(bp, NULL, 0, wchan, hz); + msleep(bp, NULL, PRIBIO, wchan, hz / 10); if (!(bp->bio_flags & BIO_ERROR)) return (0); - if (bp->bio_error) + if (bp->bio_error != 0) return (bp->bio_error); return (EIO); } |
