Как узнать количество инодов файловой системы в Solaris / Unix? - PullRequest
2 голосов
/ 03 декабря 2010

Я вызывал следующую команду и читал ответ df -F ufs -o i. Сначала он работал нормально, но затем начал давать сбой по причине, указанной и объясненной здесь http://wesunsolve.net/bugid/id/6795242.

Хотя решение, предложенное по вышеуказанной ссылке, может работать, но оно уродливо, и я хочу постоянное решение. Итак, действительно ищу c api в Solaris / Unix, который бы дал мне общее и доступное число inode для данной файловой системы.

Образец / Пример высоко ценится.

Ответы [ 2 ]

3 голосов
/ 03 декабря 2010

Системный вызов statvfs можно использовать для получения статистики файловой системы, включая количество общих инодов и количество свободных инодов.Используйте системный вызов для извлечения структуры statvfs , а затем просмотрите поля f_files и f_ffree, чтобы определить количество инодов и количество свободных инодов, соответственно.

Пример:

#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;
...
1 голос
/ 03 декабря 2010

Требуется statvfs - см. Справочную страницу на веб-сайте Solaris .

...