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); } } _______________________________________________ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"