*/
ret = rbd_aio_get_return_value(fri->completion);
if (ret < 0) {
- io_u->error = ret;
+ io_u->error = -ret;
io_u->resid = io_u->xfer_buflen;
} else
io_u->error = 0;
failed_comp:
rbd_aio_release(fri->completion);
failed:
- io_u->error = r;
+ io_u->error = -r;
td_verror(td, io_u->error, "xfer");
return FIO_Q_COMPLETED;
}
r = rbd_stat(rbd->image, &info, sizeof(info));
if (r < 0) {
log_err("rbd_status failed.\n");
- goto disconnect;
+ goto cleanup;
} else if (info.size == 0) {
log_err("image size should be larger than zero.\n");
r = -EINVAL;
- goto disconnect;
+ goto cleanup;
}
dprint(FD_IO, "rbd-engine: image size: %lu\n", info.size);
return 0;
-disconnect:
- _fio_rbd_disconnect(rbd);
cleanup:
fio_rbd_cleanup(td);
return r;