Skip to content

Major refactoring => v0.5.0 #79

@Alogani

Description

@Alogani

For v0.5.0

  • Get rid of macros and replacing using jinja templates
    • For FuseDriver
      • Types
      • Methods (+merging)
    • For FuseHandler

=> MERGED with #81

  • BREAKING Don't have a unique FuseHandler/FuseDriver conditionnied by compile features, but instead split each of them inside src/fuse_parallel, src/fuse_serial, etc
  • BREAKING custom signatures for mount / spawn_mount depending on mode
  • BREAKING remove inner: Box<dyn FuseHandler<T>>
  • implement a first working async FuseHandler
  • Update src/templates
    • Renaming to src/fuse_presets
    • Adding eventually both MirrorFsPreset (implement what is necessary, doesn't inherit FuseHandler) and MirrorFs { default_fs } ? => easier to jump start tests, but is it really useful ?
  • Update tests
  • Update examples
  • BREAKING change signature of spawn_mount / mount Options to let the user define num_threads, executor_threads, reply_threads + defaulting to core count
  • verify and update docs

To follow short term after release :

To follow long term after release :

  • Move src/core/inode_mapping.rs, src/inode_mapper, src/inode_multi_mapper inside src/inode_mapping/
  • Improve performance of FuseDriver in serial by avoiding unnecessary cloning
  • Move code of some examples inside src/fuse_presets if appropriate
  • Modify unix_fs to rely on async io if possible

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions