Author: mav
Date: Thu Dec 12 08:23:28 2013
New Revision: 259247
URL: http://svnweb.freebsd.org/changeset/base/259247

Log:
  Fix bug introduced at r256607.  We have to recalculate bp_resid here since
  sizes of original and completed requests may differ due to end of media.
  
  Bisected by:  pho

Modified:
  head/sys/geom/geom_dev.c

Modified: head/sys/geom/geom_dev.c
==============================================================================
--- head/sys/geom/geom_dev.c    Thu Dec 12 05:49:27 2013        (r259246)
+++ head/sys/geom/geom_dev.c    Thu Dec 12 08:23:28 2013        (r259247)
@@ -487,7 +487,7 @@ g_dev_done(struct bio *bp2)
        bp = bp2->bio_parent;
        bp->bio_error = bp2->bio_error;
        bp->bio_completed = bp2->bio_completed;
-       bp->bio_resid = bp2->bio_resid;
+       bp->bio_resid = bp->bio_length - bp2->bio_completed;
        if (bp2->bio_error != 0) {
                g_trace(G_T_BIO, "g_dev_done(%p) had error %d",
                    bp2, bp2->bio_error);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to