Lazy file reflink
Lazy file reflink
Posted May 23, 2019 9:01 UTC (Thu) by tchernobog (guest, #73595)Parent article: Lazy file reflink
Can someone point me to the code location for the "filesystem change journal" portion? It's what's most interesting to me. I would like to see if GNOME Tracker can be finally be made to behave at a reasonable speed on rotational drives :-p.
Posted May 24, 2019 6:26 UTC (Fri)
by amir73il (subscriber, #66165)
[Link]
The change tracking is done by a stacked filesystem called "snapshot".
If you are a GNOME Tracker developer interested in integrating the technology, I invite you to contact me on linux-fsdevel and I will guide you through the process.
Lazy file reflink
Unfortunately, the "filesystem change journal" is not available as a packaged software nor is there proper documentation how to set it up.
I would like to make the technology available to users and GNOME Tracker is a classic use case, but haven't had the time to do that.
This means that if Tracker is indexing /home, then /home should be a "snapshot" mount of (e.g.) /.home
and no users should modify /.home directly or changes will be lost.
So you see, setting up a "filesystem change journal" is not a programmatic thing, it is an administrative thing, involving boot/login scripts.
There is a programmatic interface for GNOME Tracker to actually make use of the change information, but that's the trivial part.
The article says "There are some limitations since it is implemented as a stacked filesystem", so let me elaborate on that.
When users/applications access /home they now access through a filesystem called "snapshot" and not the original ext4/xfs/btrfs they are used to.
This can have many subtle implications, for example, custom ioctls will not work and applications that try to figure out which filesystem
they are running on will get confused. This is why I am considering the change to fsnotify model instead of stacked filesystem.