Ive been working on an opensource HSM (Hierarchical Storage Management) engine called HuskHoard. Most transparent storage tools on Linux use FUSE, but I found the contextswitching overhead was killing my NVMe performance for hot data. I decided to bypass FUSE and use the fanotify API to intercept file access at the kernel level instead. How it works A background janitor moves cold files to slow storage HDD/Tape/S3. It leaves a sparse husk file on the SSD. When an app tries to read the husk, HuskHoard pauses the process, recalls the data, and resumes. Its written in Rust and licensed under AGPL3.0. Github: github.com/huskhoard/huskhoard Technical Architecture: www.huskhoard.com/blog.html Im curious if anyone else here has experimented with fanotify for storage management? I’d love some technical feedback on the architecture
Sounds like it has similar goals to bcache (not bcachefs) and LVM cachinch, except that it operates in userspace instead of at the kernel level. Can you explain what the benefits are of keeping this out of the kernel?
prenatal_confusion@feddit.org 1 day ago
This project seems like a lot of fun! I will try it
Please consider changing the headline font on the website. It is nothing short of a war crime.
deepthinker@lemmy.world 1 day ago
it is an attention getter! I have a hard time reading it sometimes. perhaps it is ready for a freshen up. Please let me know if you have a chance to try it I could use the feedback.
prenatal_confusion@feddit.org 1 day ago
Oh its getting my attention alright. In the form of discomfort and anger.