【问题标题】:How does linux kernel know which inotify_handle has a certain watchlinux内核如何知道哪个inotify_handle有一定的watch
【发布时间】:2011-10-25 06:40:40
【问题描述】:

我了解到linux内核提供了“inotify机制”来监控文件系统。

根据 inotify,inotify_init() 返回 fd 以从内核接收 inotify_event。 (我知道内核会在上面写inotify_event。)

1) 如果我使用inotify_add_watch() 添加带有inotify fd 的新手表,当观看的文件有事件时,谁将在inotify fd 上写入inotify_event

2)(如果内核有,)当内核检测到监视文件的事件时,内核如何决定哪个 inotify fd(inotify_instance) 必须用这个 inotify_event 更新?

【问题讨论】:

    标签: linux filesystems kernel inotify


    【解决方案1】:

    我自己的研究,这就是答案:

    1. 是linux内核;特别是文件系统。
    2. 当你对某个文件调用inotify_add_watch() 时,inotify 会将inotify watch 的一些信息存储到该文件的inode 结构中。

    然后,每当文件系统处理该文件时,它都会检查文件的inode 结构——是否存在inotify watches。如果从inode 结构中找到inotify 手表,则inotify 报告inotify_event

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 2010-10-31
      • 2018-03-19
      • 2019-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多