summaryrefslogtreecommitdiffstats
path: root/sys/geom/bde
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-04-28 06:10:35 +0000
committerphk <phk@FreeBSD.org>2003-04-28 06:10:35 +0000
commit600f5cf898c0247ef04cdb52bd6aeb4c726db69f (patch)
treeab8f46790ca1c676efdbfddfc6ab013fbc5487fb /sys/geom/bde
parentafa5d8b791a6e87a1fd1647989760f03a0fb1566 (diff)
downloadFreeBSD-src-600f5cf898c0247ef04cdb52bd6aeb4c726db69f.zip
FreeBSD-src-600f5cf898c0247ef04cdb52bd6aeb4c726db69f.tar.gz
Explicitly set the sector state to JUNK if we encounter a read-error.
Diffstat (limited to 'sys/geom/bde')
-rw-r--r--sys/geom/bde/g_bde_work.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/geom/bde/g_bde_work.c b/sys/geom/bde/g_bde_work.c
index 9fd0f98..036f01e 100644
--- a/sys/geom/bde/g_bde_work.c
+++ b/sys/geom/bde/g_bde_work.c
@@ -479,7 +479,10 @@ g_bde_read_done(struct bio *bp)
sc = bp->bio_caller2;
mtx_lock(&sc->worklist_mutex);
sp->error = bp->bio_error;
- sp->state = VALID;
+ if (sp->error == 0)
+ sp->state = VALID;
+ else
+ sp->state = JUNK;
wakeup(sc);
g_destroy_bio(bp);
mtx_unlock(&sc->worklist_mutex);
OpenPOWER on IntegriCloud