FIO:当direct = 1时总是写错误,并在mergerfs中使用libaio

时间:2016-10-18 04:55:37

标签: linux ubuntu fuse

Linux FUSE(用户空间中的文件系统)是否支持O_DIRECT?因为我使用fio基准来测试保险丝,但是当我使用directIO

时它总是显示错误

我的机器是Ubuntu 4.4.0-38 x86_64 fio_version = 2.14以下是我的配置文件

[global]
ioengine=libaio
**direct=1**
time_based
runtime=60
ramp_time=30
size=64g
group_reporting

[S_100RW_1M_R]
rw=read
numjobs=1
iodepth=32
bs=1m
stonewall

[S_100RW_1M_W]
rw=write
numjobs=1
iodepth=32
bs=1m
stonewall

当我执行:sudo fio fio.cfg并完成

显示seq的结果。读但没有seq的结果。写即可。它显示如下:

文件xxxxx上的

fio:io_u错误:无效参数:写入偏移量= 0,buflen = 1048576 我每次都尝试过,即使我改变了测试设备,结果都是一样的。

怎么回事?

非常感谢

1 个答案:

答案 0 :(得分:1)

这表明无论出于何种原因文件系统都喜欢"最初打开的O_DIRECT但是当时间要做1兆字节O_DIRECT写时,他继续拒绝做某事。我猜你会使用ddoflag=direct bs=1M获得类似的结果。