Identities
LoonFS identifies resources at three levels: namespaces, inodes, and paths.
┌─ NAMESPACE "acme-data" ──────────────────────────────────┐ │ an isolated root — one drive of files & folders │ │ │ │ PATH INODE │ │ mutable name canonical · immutable │ │ │ │ / ───▶ INODE 1 · directory │ │ ├─ reports ───▶ INODE 7 · directory │ │ │ └─ q3.csv ───▶ INODE 42 · file │ │ └─ notes.md ───▶ INODE 9 · file │ │ │ │ A PATH resolves to an INODE that lives in the NAMESPACE. │ │ Rename q3.csv and the PATH moves — INODE 42 does not. │ └──────────────────────────────────────────────────────────┘
Namespaces
Section titled “Namespaces”A namespace is the root-level identity for a collection of files and folders. A “drive” or “collection” are analogous concepts in other cloud drive platforms. Operations within a namespace support a high degree of isolation and consistency; cross-namespace operations are not isolated.
Inodes
Section titled “Inodes”Within a namespace, inodes are the immutable canonical identity for resources. LoonFS currently supports two types of inodes: files and directories.
In LoonFS, paths are mutable “views” that can be used to identify inodes. Paths are useful as resource identifiers, but because they can change (when inodes are moved or renamed), they are not used as the canonical identity for any resource.
Paths can be used for many LoonFS operations as inode aliases, but under the hood these operations resolve the path into an inode lookup and then perform the operation using the resolved inode. For some workflows, working with inode IDs directly ensures predictable behavior — especially in cases with many writers.