fio错误检查写入操作

时间:2017-03-28 04:07:49

标签: c io linux-kernel aio

我正在尝试确定fio(github.com/axboe/fio)在使用libaio ioengine时如何确定是否存在写入错误。

linux kernel aio functionality的帖子中,我看到了回调函数work_done()中的错误检查示例,该函数检查io_getevents()返回的事件。

但我在libaio.c(https://github.com/axboe/fio/blob/master/engines/libaio.c#L145)的fio_libaio_getevents()函数中找不到任何类似的错误检查。

我已经从https://github.com/axboe/fio/blob/fio-2.17/README#L77写到了邮件列表(fio@vger.kernel.org),但邮件却反弹了。所以任何帮助将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:1)

错误在res中以res2struct iocb的形式返回。在该fio代码中,您可以看到此处传递的iocb数组为ld->aio_events + events

        r = io_getevents(ld->aio_ctx, actual_min,
            max, ld->aio_events + events, lt);

在文件的早期检查实际错误,函数为fio_libaio_event