【发布时间】:2011-10-01 00:56:50
【问题描述】:
我在一个项目中需要做一些簿记,即表明程序 A 是否访问了特定文件。我计划将此信息存储在 inode 中,因为使用其他附加数据结构效率低下。 我计划在 inode 数据结构中重用字段 i_mode 。有什么建议。此外,我不知道如何从用户空间写入 inode 数据结构。我怎么做?谢谢...
【问题讨论】:
-
对我来说,这听起来绝对是解决您描述的问题的错误方法。
我在一个项目中需要做一些簿记,即表明程序 A 是否访问了特定文件。我计划将此信息存储在 inode 中,因为使用其他附加数据结构效率低下。 我计划在 inode 数据结构中重用字段 i_mode 。有什么建议。此外,我不知道如何从用户空间写入 inode 数据结构。我怎么做?谢谢...
【问题讨论】:
文件系统照顾inode;它甚至不会让超级用户直接修改 inode(尽管 root 可以随时访问卸载的(块或字符)设备来更改它)。
除非您编写代码来修改文件系统(内核模块),否则您将无法按照您的意愿进行操作。找到另一种方法。
【讨论】:
文件系统不是为解决用户问题而设计的。您希望记录更改的文件,其他人希望记录新/删除的文件。
我只看到以下选项:
只是为了好玩,您可以考虑:
【讨论】:
经过一番谷歌搜索后,发现“sticky bit”今天用的不多,我们可以使用它,也可以从用户空间修改它。
【讨论】: