-
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.
- We should be able to get the file size from a files metadata.
- This requires making changes to
IpldStore
andLayout
. -
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.
-
What if we use LruCache for MonofsServer
fileid_map
andpath_map
?- The issue that comes to mind is that we hand these fileids to clients and they may expect them to be stable.
-
Implement a content-defined chunker that uses Gear Hashing.
- FastCDC?
- Make it the default chunker for stores.
-
Implement
BalancedDagLayout
and make it the default layout for stores. -
Expose
IpldStore::gc
andIpldStore::dereference
and implement for:-
FlatFsStore
-
MemoryStore
- A stored
node
orbytes
should be deleted when the last reference is dropped.
-
-
Implement seeking for writes in
IpldStoreSeekable
- Figure out how Chunker and Layout can support seeking writes.
- Introduce
put_bytes_seekable
.
-
FlatFsStore
should support refcounting. -
bytes
andraw_blocks
should support refcounting too. -
Must be able to break large nodes into smaller ones.
- Therefore there is no need to have different max sizes for
bytes
andnode
.
- Therefore there is no need to have different max sizes for
-
Fix copy and remove permission issues on Linux.
-
Use sqlitedb for maintaining running services state.
-
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 - Qualify image names fully where needed. /:
- Use