实用程序“fio”如何在没有文件系统的原始未格式化设备上执行类似于 VFS 的操作?

实用程序“fio”如何在没有文件系统的原始未格式化设备上执行类似于 VFS 的操作?

据我了解,无法在没有文件系统的介质上执行 VFS 操作。

鉴于此,像这样的实用程序如何fio在原始设备上执行类似 VFS 的读/写/查找操作?

答案1

据我了解,无法在没有文件系统的介质上执行 VFS 操作。

问题变成“我们正在谈论哪些操作?”您在下面澄清...

鉴于此,像 fio 这样的实用程序如何在原始设备上执行类似 VFS 的读/写/查找操作?

虽然读/写/查找可以在具有 VFS 的事物上完成,但它们是不是VFS 独占操作 - 将它们发布给也理解适当系统调用的设备是可以接受的。

正如@andy-dalton 所说Linux块设备接受像read()/这样的系统调用write(),并且fio只对它们发出标准读/写库调用(最终将变成系统调用)(就像文件系统中的文件一样),内核会处理差异。看https://github.com/axboe/fio/blob/2dd96cc46fa83a73acc1c9238c3ac59203e10213/engines/sync.c#L226-L229举个例子。这是一种简化,但说明了总体概念。

相关内容