我正在调用以下命令并阅读 outpup df -F ufs -o i
。它最初工作得很好,但后来开始失败,原因是这里报告和解释了http://wesunsolve.net/bugid/id/6795242。
尽管上述链接上建议的解决方案可能有效,但它很难看,我想要一个永久的解决方案。所以,真的在 Solaris/Unix 上寻找 c api,它会给我给定文件系统的 inode 总数和可用数量。
示例/示例非常感谢。
我正在调用以下命令并阅读 outpup df -F ufs -o i
。它最初工作得很好,但后来开始失败,原因是这里报告和解释了http://wesunsolve.net/bugid/id/6795242。
尽管上述链接上建议的解决方案可能有效,但它很难看,我想要一个永久的解决方案。所以,真的在 Solaris/Unix 上寻找 c api,它会给我给定文件系统的 inode 总数和可用数量。
示例/示例非常感谢。
statvfs系统调用可用于检索文件系统统计信息,包括总 inode 数量和空闲 inode 数量。使用系统调用检索statvfs结构,然后检查f_files
和f_ffree
字段以确定 inode 的数量和空闲 inode 的数量。
例子:
#include <statvfs.h>
struct statvfs buffer;
int status;
fsfilcnt_t total_inodes;
fsfilcnt_t free_inodes;
...
status = statvfs("/home/betaylor/file_in_filesystem", &buffer);
total_inodes = buffer.f_files;
free_inodes = buffer.f_ffree;
...
您需要的是statvfs
- 请参阅Solaris 网站上的手册页。