Повторное использование поля inode - PullRequest
0 голосов
/ 08 июля 2011

Я нахожусь в проекте, где мне нужно вести бухгалтерский учет, т.е. указывать, был ли доступ к конкретному файлу программой A. Я планирую хранить эту информацию в inode, поскольку использование другой дополнительной структуры данных будет неэффективным. Я планирую повторно использовать поле i_mode в структуре данных inode. Какие-либо предложения. Более того, я не знаю, как записать в структуру данных inode из пользовательского пространства. Как я могу это сделать? спасибо ...

Ответы [ 3 ]

1 голос
/ 08 июля 2011

Файловая система не предназначена для решения проблемы пользователей. Вы хотите вести учет измененных файлов, другие хотите вести учет новых / удаленных файлов.

Я вижу только следующие варианты:

  • Inotify
  • сохранить статус заинтересованных файлов / каталогов и проверять наличие изменений один раз

Просто для развлечения вы можете рассмотреть:

  • модуль ядра
  • реализовать собственную файловую систему
1 голос
/ 08 июля 2011

Файловая система присматривает за индексом; он даже не позволит суперпользователю напрямую изменять inode (хотя root всегда может получить доступ к несмонтированному (блочному или символьному) устройству для его изменения).

Если вы не напишите код для изменения файловой системы - модуль ядра, - вы не сможете делать то, что хотите. Найдите другой способ сделать это.

0 голосов
/ 12 июля 2011

После того, как немного погуглил, увидел, что «липкий бит» сегодня мало используется, и мы можем его использовать, а также изменять его из пространства пользователя.

...