Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Userspace NFS server #26

@bitonic

Description

@bitonic

(adapted from internal issue by @jleahy-xtx )

Most use-cases are covered by kmod/FUSE/S3, but we won't be able to cover everyone until we have NFS. Luckily NFS is not actually that difficult to implement (and I have a skeleton already) and has very flexible semantics. Many things (for example file locking) can be left out without really violating its expectations.

The main difficult is around files being immutable. To begin with I suggest we tackle this by staging partially written files to local disk on the NFS server and then only when they are closed moving them to TernFS. It probably makes sense to use the NFS server to actually replicate behaviour that's closer to normal POSIX semantics, e.g. if one client has a partially written files then other clients may also be able to see this in-progress file (and maybe even can concurrently modify it).

This would have to be a single server to begin with, otherwise the semantics would not work properly, but that should be sufficient for our needs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions