我正在尝试确定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写入邮件列表([email protected]),但是邮件会退回。因此,任何帮助将不胜感激。

提前致谢。

最佳答案

错误在res中作为res2struct iocb返回。在该代码中,您可以看到传入的iocb数组为ld->aio_events + events

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


实际错误已在文件中的fio_libaio_event函数中进行了更早的检查。

关于c - 对写操作进行错误检查,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43060485/

10-10 19:43