Kernel Watch
Jon Masters summarises the latest happenings in the Linux kernel, so that you don’t have to.
“Linux has historically not had a scalable means to monitor for changes on a large filesystem.”
Linus Torvalds announced the release of the 5.1 Linux kernel, noting that he had been “waffling” about the timing but in the end, nothing that came up had been big enough to cause a delay. The 5.1 kernel includes many new features, among them support for using persistent memory as RAM (rather than just as a backing for storage devices), a more scalable way to track changes to large filesytems, and comes close to completing the ‘Y2038’ preparation.
With the release of 5.1 came the opening of the merge window (period of time during which disruptive changes are allowed into the kernel) for what will become 5.2 in another couple of months. Linus had noted in his 5.1 mail that his eldest daughter was graduating college right in the middle of the 5.2 merge and that he would “be effectively offline for a few days there”, but he hoped not to have to extend the merge window. Instead, he cranked through thousands of patches even faster than usual. Many new features are scheduled for 5.2, ranging from performance optimizations to the BPF verifier, to a new ‘caseinsensitive’ option for the ext4 filesystem (similar to Windows FAT32).
Super block root watch
Linux has historically not had a scalable means to monitor for changes on a large filesystem. Software wishing to watch for the creation of new files and directories would have to set up recursive ‘inotify’ watches for each part of the filesystem, resulting in very poor scalability. ‘Super block root watch’ aims to solve this by adding a means to monitor for new filesystem events at the ‘superblock’ level. The superblock is the very top level of any filesystem, thus implementing monitoring at this level allows for software to use a single API call to get all events.
Previous work (in kernel 4.20) had added some of the initial plumbing. This is now completed in the latest kernel with the addition of fsnotify_dirent and fanotify_dirent APIS to report directory modification (create/delete/ rename of files and folders) events. This should mean that finally Linux will have an equivalent to the Windows USN Journal, or macos Fsevents. You will notice this even as a regular desktop user, with snappier updates of files in the Files viewer (nautilus) in future releases of Gnome and other desktops.