Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Are all of these fs types used in hubfs? #9

Open
lonnietc opened this issue Dec 24, 2022 · 2 comments
Open

Are all of these fs types used in hubfs? #9

lonnietc opened this issue Dec 24, 2022 · 2 comments

Comments

@lonnietc
Copy link

Hello,

I was looking at the HUBFS as it might be what I need to use to learn from as a template to build out the unionized ssh type filesystem and was reviewing the code in the src/fs section of hubfs.

https://github.com/winfsp/hubfs/tree/master/src/fs

What is interesting is that the hubfs seems to utilize:

memfs
nullfs
overlayfs
port
ptfs (passthrough)
unionfs

I was wondering if all of these are really used together.

Can you please elaborate more on how this works together since I would estimate that the "nullfs" is started initially until the user maps into github and then, just perhaps the unionfs is used to combine the different repositories that are under any given singe organization, or something along those lines.

Can you please help me understand the flow of things since as you know, I am interested in something similar, but to union mappings to different user accounts on separate ssh servers into a single R/W directory structure mounted.

Any information that you could provide would be greatly appreciated.

Happy Holidays and I look forward to hearing back from you.
Thanks

@billziss-gh
Copy link
Collaborator

I think memfs is the only one that is not currently being used in HUBFS.

Look here to see how the various file systems are synthesized together:

https://github.com/winfsp/hubfs/blob/master/src/fs/hubfs/overlay.go#L48

@lonnietc
Copy link
Author

Thanks for this information and I will see if I can get a feel for how it all comes together.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants