Skip to content

Latest commit

 

History

History
64 lines (38 loc) · 2.26 KB

.todo.md

File metadata and controls

64 lines (38 loc) · 2.26 KB

monofs

  • 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 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.

  • What if we use LruCache for MonofsServer fileid_map and path_map?

    • The issue that comes to mind is that we hand these fileids to clients and they may expect them to be stable.

monoutils-store

  • 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 and IpldStore::dereference and implement for:

    • FlatFsStore
    • MemoryStore
    • A stored node or bytes 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 and raw_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 and node.

monocore

  • 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.