[PATCH] Add 'bs_unaligned' option

If this is specified with 'bsrange', fio will use any byte size value
in the bs range for an io unit buffer length. Normally fio defaults to
using a multiple of the minimum bs size, as that is required for any
type of raw io.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/io_u.c b/io_u.c
index 0432079..3000ea7 100644
--- a/io_u.c
+++ b/io_u.c
@@ -121,7 +121,8 @@
 	else {
 		r = os_random_long(&td->bsrange_state);
 		buflen = (1 + (double) (td->max_bs - 1) * r / (RAND_MAX + 1.0));
-		buflen = (buflen + td->min_bs - 1) & ~(td->min_bs - 1);
+		if (!td->bs_unaligned)
+			buflen = (buflen + td->min_bs - 1) & ~(td->min_bs - 1);
 	}
 
 	if (buflen > td->io_size - td->this_io_bytes[td->ddir]) {