[PATCH] blktrace: remember to resize ringbuffer before each fill
authorJens Axboe <axboe@suse.de>
Wed, 18 Jan 2006 13:53:23 +0000 (14:53 +0100)
committerJens Axboe <axboe@suse.de>
Wed, 18 Jan 2006 13:53:23 +0000 (14:53 +0100)
blktrace.c

index 97f272529e3347366dfb9d276fccb35b6c0dd8f5..fa080718f97be6271ee49461423008ac7887e102 100644 (file)
@@ -370,12 +370,12 @@ static void refill_ringbuffer(struct thread_information *tip, int block)
        int len = buf_size;
        int ret;
 
-       if (len + tip->fd_size > tip->fd_max_size)
-               resize_ringbuffer(tip);
-
        do {
+               if (len + tip->fd_size > tip->fd_max_size)
+                       resize_ringbuffer(tip);
+
                ret = __refill_ringbuffer(tip, len, block);
-       } while (ret == len && !is_done());
+       } while ((ret = len) && !is_done());
 }
 
 static int read_data(struct thread_information *tip, void *buf, int len)