diff options
| author | Poul-Henning Kamp <phk@FreeBSD.org> | 2003-04-29 19:37:36 +0000 |
|---|---|---|
| committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2003-04-29 19:37:36 +0000 |
| commit | ca8f372bbc8f58e47a81094b5bb28a61dc0a349c (patch) | |
| tree | cfba1053b6849dd89e472dc3a23dd3d88e447577 | |
| parent | 1ea349191e9b7730ea4227e15a80975b85b77166 (diff) | |
Notes
| -rw-r--r-- | sys/geom/bde/g_bde_work.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/geom/bde/g_bde_work.c b/sys/geom/bde/g_bde_work.c index c2fc237fc873..e4ffb527143e 100644 --- a/sys/geom/bde/g_bde_work.c +++ b/sys/geom/bde/g_bde_work.c @@ -403,6 +403,8 @@ g_bde_write_done(struct bio *bp) KASSERT(sc != NULL, ("NULL sc")); KASSERT(sp->owner != NULL, ("NULL sp->owner")); g_trace(G_T_TOPOLOGY, "g_bde_write_done(%p)", sp); + if (bp->bio_error == 0 && bp->bio_completed != sp->size) + bp->bio_error = EIO; sp->error = bp->bio_error; g_destroy_bio(bp); wp = sp->owner; @@ -479,6 +481,8 @@ g_bde_read_done(struct bio *bp) g_trace(G_T_TOPOLOGY, "g_bde_read_done(%p)", sp); sc = bp->bio_caller2; mtx_lock(&sc->worklist_mutex); + if (bp->bio_error == 0 && bp->bio_completed != sp->siz) + bp->bio_error = EIO; sp->error = bp->bio_error; if (sp->error == 0) sp->state = VALID; |
