On 10/27/2014 09:45 AM, Ketor D wrote: > The return code is 0 if success.I mod the code a bit and then run fio very well. > I think if you fix this bug, the path will be nearly pefect!! > > ret = rbd_aio_get_return_value(fri->completion); > //printf("ret=%ld\n", ret); > //if (ret != (int) io_u->xfer_buflen) { > if (ret != 0) { > if (ret >= 0) { > io_u->resid = io_u->xfer_buflen - ret; > io_u->error = 0; > } else > io_u->error = ret; > } Weird, so it does not do partial completions I assume. Modified -v8 to take that into account, hopefully this just works out-of-the-box. What does the performance numbers look like for your sync test with this? -- Jens Axboe