It seems,POSIX 2008允许statvfs
失败,错误为ENOSYS(文件系统不支持此调用)。
不过,该错误已在latest POSIX修订版中删除。
我找不到任何文件系统不支持statvfs
的信息。我在Linux上应该担心吗?
答案 0 :(得分:0)
这取决于您可能需要担心多少个旧系统。
您需要检查对statvfs()
的调用是否失败-还有其他原因可能导致失败。因此,ENOSYS是否为返回的错误之一在很大程度上不重要;您可能使用strerror()
或其亲戚之一来报告错误。与ENOSYS相比,与ELOOP相比,唯一的区别是无法修复ENOSYS(无需修改内核,因此ENOSYS不再是适当的响应),而对于ELOOP,您可能会找到使自己摆脱符号链接循环的方式(但您可能不愿意尝试)。