svn commit: r326745 - stable/10/sys/geom/raid
Eugene Grosbein
eugen at FreeBSD.org
Sun Dec 10 13:45:43 UTC 2017
Author: eugen
Date: Sun Dec 10 13:45:41 2017
New Revision: 326745
URL: https://svnweb.freebsd.org/changeset/base/326745
Log:
MFC r326655,326668: correct error handling for graid
SINGLE/CONCAT/RAID5 volumes.
Approved by: mav (mentor)
Modified:
stable/10/sys/geom/raid/tr_concat.c
stable/10/sys/geom/raid/tr_raid5.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/geom/raid/tr_concat.c
==============================================================================
--- stable/10/sys/geom/raid/tr_concat.c Sun Dec 10 13:44:58 2017 (r326744)
+++ stable/10/sys/geom/raid/tr_concat.c Sun Dec 10 13:45:41 2017 (r326745)
@@ -339,7 +339,7 @@ g_raid_tr_iodone_concat(struct g_raid_tr_object *tr,
pbp->bio_inbed++;
if (pbp->bio_children == pbp->bio_inbed) {
pbp->bio_completed = pbp->bio_length;
- g_raid_iodone(pbp, bp->bio_error);
+ g_raid_iodone(pbp, pbp->bio_error);
}
}
Modified: stable/10/sys/geom/raid/tr_raid5.c
==============================================================================
--- stable/10/sys/geom/raid/tr_raid5.c Sun Dec 10 13:44:58 2017 (r326744)
+++ stable/10/sys/geom/raid/tr_raid5.c Sun Dec 10 13:45:41 2017 (r326745)
@@ -371,15 +371,15 @@ g_raid_tr_iodone_raid5(struct g_raid_tr_object *tr,
struct g_raid_subdisk *sd, struct bio *bp)
{
struct bio *pbp;
- int error;
pbp = bp->bio_parent;
+ if (pbp->bio_error == 0)
+ pbp->bio_error = bp->bio_error;
pbp->bio_inbed++;
- error = bp->bio_error;
g_destroy_bio(bp);
if (pbp->bio_children == pbp->bio_inbed) {
pbp->bio_completed = pbp->bio_length;
- g_raid_iodone(pbp, error);
+ g_raid_iodone(pbp, pbp->bio_error);
}
}
More information about the svn-src-stable
mailing list