Native inotify in FreeBSD
Summary
The article explains why FreeBSD's EVFILT_VNODE based file monitoring has limitations and race conditions, and how these limitations motivated the development of a native inotify interface for FreeBSD. It discusses comparing inotify with EVFILT_VNODE, Linux's inotify, and the Linuxulator to improve Linux binary compatibility on FreeBSD. It covers the inotify API (inotify_init, inotify_add_watch, inotify_rm_watch) and how watch descriptors work. It highlights the difference in behavior when files have multiple hard links and the impact on event names. It notes that inotify support will be available in FreeBSD 15.0 and 14.4, and that this enables better interoperability with Linux apps and Open Source software.