summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/kern/vfs_bio.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
index 3ef984a..7c8b16d 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);
}
OpenPOWER on IntegriCloud