Restore BUSY_OK bypassing of bitmap
authorJens Axboe <axboe@kernel.dk>
Thu, 22 Nov 2012 14:14:17 +0000 (15:14 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 22 Nov 2012 14:14:17 +0000 (15:14 +0100)
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_u.c

diff --git a/io_u.c b/io_u.c
index d6816068063e9a4be50998fd21c6fcd64d1ae49e..aff24eb884c2fc1db5aa6eccc81c1001746cc372 100644 (file)
--- a/io_u.c
+++ b/io_u.c
@@ -42,7 +42,8 @@ static void mark_random_map(struct thread_data *td, struct io_u *io_u)
        block = (io_u->offset - f->file_offset) / (unsigned long long) min_bs;
        nr_blocks = (io_u->buflen + min_bs - 1) / min_bs;
 
-       nr_blocks = bitmap_set_nr(f->io_bitmap, block, nr_blocks);
+       if (!(io_u->flags & IO_U_F_BUSY_OK))
+               nr_blocks = bitmap_set_nr(f->io_bitmap, block, nr_blocks);
 
        if ((nr_blocks * min_bs) < io_u->buflen)
                io_u->buflen = nr_blocks * min_bs;