我已经使用 FUSE 实现了一个基本的文件系统,实现了所有可预见的 POSIX 功能[当然我什至还没有分析过;)]。目前我能够在常规文件上运行文件系统(st_mode & S_IFREG)
,但下一步开发是将其托管在实际的块设备上。按原样运行我的代码,st_size
在调用fstat
设备后立即读取失败。当然,我不希望问题就此止步:
- 与常规文件相比,在块设备上操作需要哪些更改?
- 关于性能、限制、特殊功能等,我需要做哪些特别考虑?
- 是否有处理块特殊文件的教程和参考资料?谷歌搜索几乎没有用处。我只有背景知识(讽刺的是,在我黑暗的过去来自 MSDN)和联机帮助页中的一些少量信息。
更新0
- 我已经指出了“常规文件”的含义。
- 我不想专注于获取设备大小,我想要常规文件和设备文件在性能和使用方面的差异的一般准则。