Skip to content

Virtual contexts: Multiple file systems in an isolated mount tree #218

@jeff-hykin

Description

@jeff-hykin

Thanks for all the work on ZenFS! I'm hoping to use it as a platform for a lot of projects.

To partially continue the conversation from #124 , my big question is: what variables/functions/classes are stopping ZenFS from being able to load two different backends and maintain them as separate file system trees.

I understand the challenges with Nodejs, and not having a giant ZenFS class. If I attempt a fork ZenFS, I'd attempt to use a binding technique rather than a giant class. And, well, it seems like V_Context is doing a lot of what I would've attempted. So I'm working on understanding what is missing from V_Context that limits it to just one file system tree.

To be clear on expected behavior; I expect backends like NodeFS to only ever have one file tree. In-memory trees that exist along side a global file system is the question for this issue.

Trying to answer that myself:

Other than the mounts variable in src/vfs/shared.ts, I don't see much that would prevent ZenFS having two file system trees.

That said, I imagine it is more than just mounts. After drowning in the complexity of the config.ts mounting/unmounting, I figured I should just ask how big the iceberg is.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions