我正在尝试确定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
中作为res2
和struct 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/