2011-07-08 39 views
0

我在一個項目中,我需要做一些記錄,即指出一個特定的文件是否被程序A訪問過。我打算將這些信息存儲在inode中,就像使用其他額外的數據結構將是低效的。 我打算在inode數據結構中重新使用字段i_mode。有什麼建議麼。此外,我不知道如何寫入用戶空間的inode數據結構。我怎麼做?謝謝...重新使用inode字段

+3

對我而言,這聽起來像絕對是解決您描述的問題的錯誤方法。 – NPE

回答

-1

經過一番Google搜索後發現,「粘性位」今天沒有太多用處,我們可以使用它並從用戶空間進行修改。

+0

這仍然聽起來像是對我來說是錯誤的解決方案。請注意,任何使用八進制權限來修改文件的系統管理員將取消您的粘滯位。您還應該意識到未來版本的操作系統可能會重新使用粘貼位以達到自己的目的。 NetBSD目前的粘性位標記爲'保留供將來使用' –

1

文件系統照看inode;它甚至不會讓超級用戶直接修改inode(儘管root始終可以訪問卸載(塊或字符)設備來更改它)。

除非您編寫代碼來修改文件系統 - 一個內核模塊 - 否則您將無法按自己的意願進行操作。找到另一種方式來做到這一點。

1

文件系統不是爲了解決用戶問題而設計的。你想記賬改變的文件,其他想要記錄新的/刪除的文件。

我只看到以下選項:有興趣的文件/目錄的

  • inotify
  • 保持狀態,並檢查了一次,時間的變化

只是爲了好玩,你可以考慮:

  • 內核模塊
  • 實現您自己的文件系統