Skip to content

Repository files navigation

smoothfs

smoothfs is the storage engine behind SmoothNAS tiering. It gives SmoothNAS one place to keep fast and slow data together while moving files between tiers automatically.

What people use it for:

  • keep hot data on SSD/NVMe and cold data on slower media
  • preserve familiar NFS/SMB/iSCSI behavior while storage placement is optimized
  • reduce cost without changing NAS workflows
  • provide safer movement with explicit state transitions and recovery paths

For SmoothNAS operators this means:

  • better performance where it matters
  • simpler storage growth on mixed hardware
  • predictable operations because active-LUN movement and recovery flows are explicit

Why it is useful

  • One namespace, multiple media classes: one mount path and one view for users.
  • Policy driven: heat + policy determines movement while preserving POSIX correctness.
  • Production-aware controls: quiesce/reconcile, movement logs, and explicit active-LUN workflow prevent surprise behavior.
  • Integrated package path: kernel module, userspace daemon, and support scripts are delivered in Debian artifacts for SmoothNAS deployments.

For SmoothNAS

SmoothNAS should consume this repository as an external component instead of duplicating its implementation.

  • kernel filesystem + movement engine: src/smoothfs
  • userspace control-plane: controlplane
  • API contracts: client.go, events.go, uapi.go, pools.go
  • operator docs and phased delivery notes: docs

Documentation

English:

Dutch:

Verification

go test ./...

Runtime behavior and kernel packaging tests are in src/smoothfs/test and are intended for prepared Linux hosts with matching kernel/filesystem/Samba/iSCSI prerequisites.

Repo layout

  • src/smoothfs: kernel module, DKMS, Samba VFS integration, and test harnesses
  • controlplane: planner/worker/recovery service logic
  • docs: operator and design documentation
  • tierd directory in SmoothNAS consumes these contracts

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages