The Hurd has both NFS server and client implementations, which work, but not
very well: File locking doesn't work properly (at least in conjunction with a
GNU/Linux server), and performance is extremely poor. Part of the problems
could be owed to the fact that only NFSv2 is supported so far.

(Note though that locking on the Hurd is problematic in general, not only in
conjunction with NFS -- see the file locking task.)

This project encompasses implementing NFSv3 support, fixing bugs and
performance problems -- the goal is to have good NFS support. The work done in
a previous unfinished GSoC project can serve as a starting point.

Both client and server parts need work, though the client is probably much more
important for now, and shall be the major focus of this project.

Some discussion of NFS
improvements
has been done for a former GSoC application -- it might give you some pointers.
But don't take any of the statements made there for granted -- check the facts
yourself!

This task, GNU Savannah task #5497, has no special prerequisites besides general programming skills, and
an interest in file systems and network protocols.

Possible mentors: ?

Exercise: Look into one of the existing issues in the NFS code. It's quite
possible that you will not be able to fix any of the visible problems before
the end of the application process; but you might discover something else you
could improve in the code while working on it

If you can't find anything suitable, talk to us about possible other exercise
tasks.

Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled GNU Free Documentation
License.