-
Notifications
You must be signed in to change notification settings - Fork 81
introduce extended filesystem interface #29
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
base: main
Are you sure you want to change the base?
Conversation
|
I tried to comment on the change via Reviewable, but unfortunately, it is blocking me from doing so. Something in the project settings doesn't allow it, so I can't post the review. Not sure what to do. It says: "Failed to publish: GitHub error 403 on POST https://api.github.com/repos/xetdata/nfsserve/pulls/29/reviews: Although you appear to have the correct authorization credentials, the |
|
Apologies as you might have heard we just got acquired by HuggingFace. Things have been hectic for a while, but now I have bandwidth to review this and get it in. Thanks for the patience! |
|
If think this would be better as a breaking change instead of having two separate VFS traits. Additional context would be a genuinely useful addition. This would also be in line with other VFS interfaces (e.g. Fuse). Reusing |
|
Adding an extended interface has also other advantages. But we could also start by adding additional parameters to the existing NFSFilesystem trait and try to optimize later on, |
Introduce extended NFS File System interface.
The functions in the extended file system interface get additional context information for the call like uid/gid.
This makes sense, if the file storage is implemented in a different server component, that is able to execute
tasks like permission checking on its own.
The original NFS File System interface is not changed, but it is called from the default implementation of the extended interface. This ensures downward compatibility, so existing implementations do not break.
New implementations still could use the original interface,
which is easier to use, if the extended functionality is not required.