mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-05-05 22:03:16 -04:00
Merge pull request #194 from xPolar/main
various grammar and typo fixes.
This commit is contained in:
@@ -59,7 +59,7 @@ For independent creatives, hoarders and those that want to own their digital foo
|
||||
|
||||
# What is a VDFS?
|
||||
|
||||
A VDFS (virtual distributed filesystem) is a filesystem designed to work atop a variety of storage layers. It is not restricted to a single machine, with a uniform API to manipulate and access content across many devices. It achieves this by maintaining a virtual index of all storage locations, synchronizing the database between clients in realtime. This implementation also uses [CAS](https://en.wikipedia.org/wiki/Content-addressable_storage) (Content-addressable storage) to uniquely identify files, while keeping record of logical file paths relative to the storage locations.
|
||||
A VDFS (virtual distributed filesystem) is a filesystem designed to work across a variety of storage layers. It is not restricted to a single machine, with a uniform API to manipulate and access content across many devices. It achieves this by maintaining a virtual index of all storage locations, synchronizing the database between clients in realtime. This implementation also uses [CAS](https://en.wikipedia.org/wiki/Content-addressable_storage) (Content-addressable storage) to uniquely identify files, while keeping record of logical file paths relative to the storage locations.
|
||||
|
||||
The first implementation of a VDFS can be found in this UC Berkeley [paper](https://www2.eecs.berkeley.edu/Pubs/TechRpts/2018/EECS-2018-29.pdf) by Haoyuan Li. This paper describes its use for cloud computing, however the underlying concepts can be translated to open consumer software.
|
||||
|
||||
|
||||
@@ -98,9 +98,9 @@ function Page() {
|
||||
</Button>
|
||||
</div>
|
||||
<p className="px-6 mt-3 text-sm text-center opacity-75 text-gray-450">
|
||||
Coming soon on macOS, Windows and Linux.
|
||||
Coming soon to macOS, Windows, and Linux.
|
||||
<br />
|
||||
Shortly after to iOS & Android.
|
||||
Shortly thereafter to iOS & Android.
|
||||
</p>
|
||||
|
||||
<AppEmbed />
|
||||
|
||||
@@ -180,7 +180,7 @@ model FilePath {
|
||||
@@map("file_paths")
|
||||
}
|
||||
|
||||
// if there is a conflicting cas_id, the conficting file should be updated to have a larger cas_id as the feild is unique, however this record is kept to tell the indexer (upon discovering this CAS) that there is alternate versions of the file and to check by a full integrity hash to define for which to associate with.
|
||||
// if there is a conflicting cas_id, the conficting file should be updated to have a larger cas_id as the field is unique, however this record is kept to tell the indexer (upon discovering this CAS) that there is alternate versions of the file and to check by a full integrity hash to define for which to associate with.
|
||||
model FileConflict {
|
||||
original_file_id Int @unique
|
||||
detactched_file_id Int @unique
|
||||
|
||||
@@ -17,7 +17,7 @@ mod sync {
|
||||
transport: SyncTransport, // method of data transport (msg or binary)
|
||||
}
|
||||
|
||||
// we can now impl specfic CRDT traits to given resources
|
||||
// we can now impl specific CRDT traits to given resources
|
||||
enum SyncResource {
|
||||
FilePath(dyn Replicate),
|
||||
File(dyn PropertyOperation),
|
||||
|
||||
@@ -38,7 +38,7 @@ struct File {
|
||||
|
||||
> ~~It is impossible to have a unique constraint at a database level for the `partial_checksum` however we can asynchronously resolve conflicts by querying for duplicates and generating full checksums at a later date.~~
|
||||
>
|
||||
> For synchronization of this resource we can tolerate temporary duplicates, any client can calculate that two files resources are duplicate and merge them into a single resource. In turn, triggering a shared data merge operation, whereby the older record is prioritised at a property level during the merge.
|
||||
> For synchronization of this resource we can tolerate temporary duplicates, any client can calculate that two files resources are duplicate and merge them into a single resource. In turn, triggering a shared data merge operation, whereby the older record is prioritized at a property level during the merge.
|
||||
|
||||
- `checksum` - A full SHA256 checksum of the file data used to verify uniqueness should a `partial_checksum` conflict occur.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user