dCache / nfs4j

Pure Java NFSv3 and NFSv4.2 implementation
Other
240 stars 76 forks source link

NFSv4 Client Improvements #140

Closed hannosgit closed 1 week ago

hannosgit commented 1 month ago

Hi!

I saw this library and tried it out as an user space client and it worked for my use-case. However it seems that the implementation in the basic-client module is not easy to extend to add more functionality. Would you accept Pull Requests to improve the extensibility of the existing code?

My suggestions would be:

kofemann commented 1 month ago

Hi, thanks for your interest and offer to contribute to the project. The basic-client was intended as a quick-and-dirty way to test functionality not provided by the OS clients. It was clear that such an approach couldn't be used to provide a stable client library. Some time ago I started to develop a proper library, but I haven't pulled it up to the end https://github.com/kofemann/nfs41-nio2. So, this might be something that you can look at. It uses nfs4j as an external dependency so that some code can be used from here too. Moreover, the pNFS MDS implementation has proxy-io support that shares the same logic.

https://github.com/dCache/dcache/tree/master/modules/dcache-nfs/src/main/java/org/dcache/chimera/nfsv41/door/proxy