mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-04-23 07:59:59 -04:00
* Update pnpm version
* Fix autoformat
* Improve autoformat msg
* Attempt to fix autoformat 2
* Fix autoformat
* Ignore deleted files in auto-format
* Fix diff filter
* Autoformat whole codebase
* Improve error message for autoformat CI
* Test autoformat CI
* Revert "Test autoformat CI"
This reverts commit 0bf2f46d1a.
21 lines
1.2 KiB
Plaintext
21 lines
1.2 KiB
Plaintext
---
|
|
index: 0
|
|
---
|
|
|
|
# Virtual Distributed Filesystem (VDFS)
|
|
|
|
Spacedrive is a virtual distributed filesystem, but what exactly is that?
|
|
|
|
A virtual filesystem is simply a layer of abstraction between a physical filesystem and the user. A distributed filesystem is a filesystem that is spread across multiple machines. A virtual distributed filesystem is a filesystem that is spread across multiple machines, but appears to the user as a single filesystem.
|
|
|
|
## How it works
|
|
|
|
Spacedrive defines a VDFS under the following data model; A Library, Nodes, Volumes, Locations, Paths and Objects.
|
|
|
|
- A node is a single machine running the VDFS software.
|
|
- It syncronizes a CRDT based database, called the Library, with other nodes in the network.
|
|
- The library consists of Locations, found on Volumes,
|
|
- These contain Paths to files on the underlying filesystem.
|
|
|
|
Objects are unique representations of files sorted by a sampled hash called a "cas_id" which stands for "Content Addressable Storage Identifier". Additional metadata like tags and comments are tied to the Objects. Folders are not assigned to objects by default, but if a tag is assigned then an Object is created to accomedate.
|