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"

Reply via email to