[OpenAFS-devel] [GSoC 2010] Userspace NFS->AFS translator

Mohammed Gamal m.gamal005@gmail.com
Wed, 14 Apr 2010 18:44:35 +0200


Hello Everyone,
I am interested in the Userspace NFS->AFS translator project. I have
already submitted a proposal and receive some feedback from Jeffrey
Hutzelman, who has encouraged me to post it here to the list.

The basic idea of the project is to have the translator to include an
NFS server and AFS client implementations and a translation service
that handles mapping the procedure calls from NFS clients to the AFS
client. For the NFS server we can use an existing implementation or
implement one from scratch, although I'd lean towards the first
solution, and I wonder what your thoughts would be on using something
like .uNFS for that purpose. In addition, the Solaris kernel
implementation can be used as a reference for the userspace
implementation.

I envision that the project will be divided into two major phases, and
I proposed the following timeline:

1- Acceptance-Midterm evaluation period:

This phase concentrates on the NFS server implementation side of the
translator. The deliverables of this phase should be a working NFS
server implementation as well as possibly a skeleton or prototype for
the AFS client. This phase can be subdivided as follows:

   - Community Bonding Period: Get involved with the community.
Familiarize myself with OpenAFS and libuafs usage and codebase. Read
documentation. Evaluate available user-level NFS implementations for
future usage.

   - May 26th - June 15th: Start developing or porting NFS server
implementation. Come up with initial design of the translator's client
side.

   - June 15th - June 30th: Exams break

   - July 1st - July 14th: Finish NFS server implementation. Have a
translator and AFS client side prototype ready. Test all the work
done.

2- Mid-term till Final evaluation:

This phase includes further improvements for the NFS implementation
depending on community feedback. As well as completing the
implementation of the translation and the AFS client.

   - July 16th - Aug 9th: Implement the translation mappings between
NFS requests and AFS requests. Develop AFS client to deliver AFS
requests to AFS servers.

   - Aug 9th - End of program: Fix outstanding issues, write
integration tests, make sure all is good.

Needless to say, community feedback will be crucial at driving the
pace and the goals at which the project proceeds, and therefore during
all the phases of this project I am willing to submit patches for
public review, hear feedback from the community and take it into
consideration.

Best Regards,
Mohammed