linux - FIO : Always write error when direct=1 and use libaio in mergerfs

标签 linux ubuntu fuse

Linux FUSE(用户空间中的文件系统)支持 O_DIRECT?因为我使用fio benchmark来测试fuse,但是当我使用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 的结果。写。它显示如下:

fio:文件 xxxxx 上的 io_u 错误:参数无效:写入偏移量=0,buflen=1048576 我每次都尝试过,即使我更换了测试设备,结果也一样。

怎么会这样?

非常感谢

最佳答案

这表明无论出于何种原因,文件系统在初始打开时“喜欢”O_DIRECT,但在执行 1 兆字节 O_DIRECT< 时继续拒绝执行某些操作 写。我猜你会使用 ddoflag=direct bs=1M 等得到类似的结果。

关于linux - FIO : Always write error when direct=1 and use libaio in mergerfs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40099815/

相关文章:

linux - Linux 中的回收站脚本

c++ - 如何检查应用程序是否在 OpenOnload 下运行?

linux - 使用 Kate 从远程主机打开文件

php - 新文件的 Ubuntu 编码

java - 用C和JAVA实现FUSE

linux - 将短域名转换为完整域名 URL

http - 如何使用 libcurl 通过多个 NIC 路由客户端 HTTP 请求

ubuntu - 虚拟主机 XAMPP [Linux Ubuntu] 不工作

macos - macosx 上的 fuse4x sshfs 执行错误

c - execve() 传递的未知 open() 标志