linux内核如何知道哪个inotify_handle有一定的监视

时间:2011-10-25 06:40:41

标签: linux filesystems kernel inotify

据我所知,linux内核提供了“inotify机制”来监控文件系统。

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

1)如果我使用inotify fd使用inotify_add_watch()添加新观看,当观看的文件收到活动时,谁会在inotify fd上写inotify_event

2)(如果内核确实如此),当内核检测到监视文件的事件时,内核如何确定哪个inotify fd(inotify_instance)必须使用此inotify_event进行更新?

1 个答案:

答案 0 :(得分:2)

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

  1. 是linux内核;特别是文件系统。
  2. 当您致电inotify_add_watch()某个文件时,inotify会将inotify的一些信息存储到该文件的inode结构中。
  3. 然后,只要文件系统处理该文件,它就会检查文件的inode sturture - 是否存在inotify watches。如果从inotify结构中找到inode个监视,inotify报告inotify_event