News: 0001514898

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Pre-Content fanotify / fanotify Hierarchical Storage Management Expected For Linux 6.14

([Linux Storage] 26 December 06:22 AM EST pre-content fanotify)


Queued up by way of linux-fs.git's "for_next" Git branch is the fanotify HSM (Hierarchical Storage Management) implementation via the pre-content fanotify patch series.

This code has been worked on by Meta engineers for a while and already the code is used in production in Meta for fanotify-based Hierarchical Storage Management / Tiered Storage handling using the fanotify API. The fanotify API is used for notification and interception of file-system events.

Being worked on for several months has been the [1]pre-content hooks for fanotify worked on by Amir Goldstein and Josef Bacik. Bacik explained there:

"I did a bunch of testing, I also got some performance numbers. I copied a kernel tree, and then did remote-fetch, and then make -j4

Normal

real 9m49.709s

user 28m11.372s

sys 4m57.304s

HSM

real 10m6.454s

user 29m10.517s

sys 5m2.617s

So ~17 seconds more to build with HSM. I then did a make mrproper on both trees to see the size

[root@fedora ~]# du -hs /src/linux

1.6G /src/linux

[root@fedora ~]# du -hs dst

125M dst

This mirrors the sort of savings we've seen in production.

Meta has had these patches (minus the page fault patch) deployed in production for almost a year with our own utility for doing on-demand package fetching. The savings from this has been pretty significant.

The page-fault hooks are necessary for the last thing we need, which is on-demand range fetching of executables. Some of our binaries are several gigs large, having the ability to remote fetch them on demand is a huge win for us not only with space savings, but with startup time of containers."

The patches are queued up via [2]this merge to linux-fs.git for_next, so barring any last minute issues they should end up being merged for Linux 6.14 in the new year.



[1] https://lore.kernel.org/all/cover.1731684329.git.josef@toxicpanda.com/

[2] https://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git/commit/?h=for_next&id=3f1063103cf29ba66f7066d32a72778f99b7a046



phoronix

You know you're in a small town when...
You don't use turn signals because everybody knows where you're going.
You're born on June 13 and your family receives gifts from the local
merchants because you're the first baby of the year.
Everyone knows whose credit is good, and whose wife isn't.
You speak to each dog you pass, by name... and he wags his tail.
You dial the wrong number, and talk for 15 minutes anyway.
You write a check on the wrong bank and it covers you anyway.