svn commit: r254916 - projects/camlock/sys/geom/stripe

Alexander Motin mav at FreeBSD.org
Mon Aug 26 16:32:56 UTC 2013


Author: mav
Date: Mon Aug 26 16:32:56 2013
New Revision: 254916
URL: http://svnweb.freebsd.org/changeset/base/254916

Log:
  In addition to r254914 switch from using g_std_done() to g_stripe_done().
  It is required for direct dispatch because g_std_done() is unlocked.

Modified:
  projects/camlock/sys/geom/stripe/g_stripe.c

Modified: projects/camlock/sys/geom/stripe/g_stripe.c
==============================================================================
--- projects/camlock/sys/geom/stripe/g_stripe.c	Mon Aug 26 16:23:54 2013	(r254915)
+++ projects/camlock/sys/geom/stripe/g_stripe.c	Mon Aug 26 16:32:56 2013	(r254916)
@@ -457,7 +457,7 @@ g_stripe_start_economic(struct bio *bp, 
 	/*
 	 * Fill in the component buf structure.
 	 */
-	cbp->bio_done = g_std_done;
+	cbp->bio_done = g_stripe_done;
 	cbp->bio_offset = offset;
 	cbp->bio_data = addr;
 	cbp->bio_length = length;
@@ -482,7 +482,7 @@ g_stripe_start_economic(struct bio *bp, 
 		/*
 		 * Fill in the component buf structure.
 		 */
-		cbp->bio_done = g_std_done;
+		cbp->bio_done = g_stripe_done;
 		cbp->bio_offset = offset;
 		cbp->bio_data = addr;
 		/*
@@ -539,15 +539,15 @@ g_stripe_flush(struct g_stripe_softc *sc
 			return;
 		}
 		bioq_insert_tail(&queue, cbp);
-		cbp->bio_done = g_std_done;
-		cbp->bio_caller1 = sc->sc_disks[no];
+		cbp->bio_done = g_stripe_done;
+		cbp->bio_caller2 = sc->sc_disks[no];
 		cbp->bio_to = sc->sc_disks[no]->provider;
 	}
 	for (cbp = bioq_first(&queue); cbp != NULL; cbp = bioq_first(&queue)) {
 		bioq_remove(&queue, cbp);
 		G_STRIPE_LOGREQ(cbp, "Sending request.");
-		cp = cbp->bio_caller1;
-		cbp->bio_caller1 = NULL;
+		cp = cbp->bio_caller2;
+		cbp->bio_caller2 = NULL;
 		g_io_request(cbp, cp);
 	}
 }


More information about the svn-src-projects mailing list