-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(monofs): [ongoing] implement NFS server adapter
Adds NFS server functionality to monofs, allowing it to be mounted as a network filesystem. Key changes include: - Implement NFSFileSystem trait for MonofsServer - Add support for basic NFS operations (create, mkdir, symlink, etc.) - Add path-to-fileid mapping system using SymbolTable for efficient lookups - Add comprehensive test suite for NFS operations - Update documentation with examples and diagrams
- Loading branch information
Showing
15 changed files
with
1,306 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,43 @@ | ||
## monofs | ||
|
||
- [ ] Implement tombstone for deletes. | ||
- [x] Implement tombstone for deletes. | ||
|
||
- [ ] Implement merging although it is a bit tricky. | ||
|
||
- [ ] How do we handle "previous" field conflicts? | ||
- [ ] Handling deletes with tombstones | ||
|
||
- [ ] Fix file size issue. | ||
|
||
## monocore | ||
- [ ] We should be able to get the file size from a files metadata. | ||
- [ ] This requires making changes to `IpldStore` and `Layout`. | ||
- [ ] `IpldStore::get_cid_size(cid: &Cid) -> Result<u64, Error>`? | ||
- [ ] `Layout::get_cid_size(cid: &Cid) -> Result<u64, Error>`? | ||
|
||
- [ ] Children entities should inherit sync type from their parents when they get added. | ||
|
||
- [ ] Change MonofsServer `fileid_map` and `path_map` to use LruCache instead of HashMap. | ||
|
||
## monoutils-store | ||
|
||
- [ ] Improve remove and copy performance. | ||
- [ ] Implement a content-defined chunker that uses Gear Hashing. | ||
|
||
- [ ] Sibling entries should be processed in parallel. | ||
- [ ] Do the same for PermissionsGuard Drop implementation. | ||
- [ ] QuickCDC? | ||
- [ ] Make it the default chunker for stores. | ||
|
||
- [ ] Implement `BalancedDagLayout` and make it the default layout for stores. | ||
|
||
## monocore | ||
|
||
- [x] Fix copy and remove permission issues on Linux. | ||
|
||
- [ ] Use sqlitedb for maintaining running services state. | ||
|
||
- [ ] Fix issue with services running even after the config is deleted. | ||
- [ ] We should be able to guarantee that service is dead when the config is deleted. | ||
|
||
- [ ] Treating microvm management like a package manager. | ||
|
||
- [ ] Store service rootfs, state, logs locally in a .mc directory kind of like ./node_modules. | ||
- [ ] Store reference rootfses (oci & monofs) in home_dir with a special store that links to them from forked rootfses. | ||
|
||
- [ ] Support multiple registries. | ||
- [ ] Use `Reference` type for image_ref where it makes sense: https://docs.rs/oci-spec/0.7.1/oci_spec/distribution/struct.Reference.html | ||
- [x] Use `Reference` type for image_ref where it makes sense: https://docs.rs/oci-spec/0.7.1/oci_spec/distribution/struct.Reference.html | ||
- [ ] Qualify image names fully where needed. <registry>/<repo>:<tag> | ||
- [ ] Instead of sanitizing image refs, we should just hash them instead. |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,3 +10,4 @@ pub mod config; | |
pub mod filesystem; | ||
pub mod store; | ||
pub mod utils; | ||
pub mod server; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
mod server; | ||
|
||
//-------------------------------------------------------------------------------------------------- | ||
// Exports | ||
//-------------------------------------------------------------------------------------------------- | ||
|
||
pub use server::*; |
Oops, something went wrong.