Add support for different weights for reads and writes with bssplit

You can now do:

	bssplit=4k/20:8k/80,1k/50:4k/50

To have 20% 4k reads and 80% 8k reads, while having 50% 1k writes
and 50% 4k writes. This is identical to how the bs= option treats
reads and writes.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/io_u.c b/io_u.c
index 7108939..d92d940 100644
--- a/io_u.c
+++ b/io_u.c
@@ -248,7 +248,7 @@
 		buflen = minbs;
 	else {
 		r = os_random_long(&td->bsrange_state);
-		if (!td->o.bssplit_nr) {
+		if (!td->o.bssplit_nr[ddir]) {
 			buflen = 1 + (unsigned int) ((double) maxbs *
 					(r / (OS_RAND_MAX + 1.0)));
 			if (buflen < minbs)
@@ -257,8 +257,8 @@
 			long perc = 0;
 			unsigned int i;
 
-			for (i = 0; i < td->o.bssplit_nr; i++) {
-				struct bssplit *bsp = &td->o.bssplit[i];
+			for (i = 0; i < td->o.bssplit_nr[ddir]; i++) {
+				struct bssplit *bsp = &td->o.bssplit[ddir][i];
 
 				buflen = bsp->bs;
 				perc += bsp->perc;