我已经看到建议,任何时候你想要使用由文件支持的mmap(2),你也应该提供基于read(2)/ write(2)的实现,以防ENODEV错误(文件系统不支持mmap call)。
我正在设计一个程序,需要访问(在只读模式下)一个非常大的数据文件(千兆字节),而mmap'这将是最简单的方法。基于读取的解决方案将是相当多的工作。我的目标是最新的64位Linux。是否有现代文件系统不支持mmap调用?
我听说ecryptfs,squashfs,vfat和NFS在某些时候都不支持mmap,但是从查看内核源代码来看,所有这些文件系统现在都支持mmap了。