A lament about modern NFS development
My problem with the direction that modern NFS protocol development is going is, to put it succinctly, that everyone involved seems to want to turn NFS into AFS or another real networked filesystem. Instead of just improving NFS as it stands, they seem to want to change it into something substantially different, something that would require a major restructuring of all sorts of things in order to use.
So what do I consider 'NFS as it stands'? To me, the virtues of NFS are that it is a fast, resilient system for providing networked filesystems with more or less Unix semantics between trusted hosts. While I'm biased, I happen to think that this is still an important niche; people still have lots of Unix machines within more or less the same trust domain. This isn't to say that NFS is perfect, which is part of the frustration of it all; I can think of a number of things about NFS that could stand to be improved, and most of them are untouched and going to stay that way.
(I cannot help but feel that part of the situation comes about because NFS-like filesystems are considered not modern, cool, and acceptable, so no one serious wants to be seen working on them. Comparisons to the old microkernel mania are left as an exercise to the reader.)
Sidebar: NFS improvements that I'd like to see
My off the cuff wishlist includes:
- better handling of userids, to let people relax the trust relationships a bit; this is a welcome part of NFS v4.
- automatically handle mounting and accessing sub-filesystems; I believe
that this is also part of NFS v4.
- improve the host security.
- roll all of the various associated protocols and systems (mounting, lock management, etc) into the core of NFS, and make sure that they all work well together (and reliably).
- improve the recovery from server and client events. Right now the core protocol seems to recover without problems, but lock recovery can be chancy.
I don't know if NFS needs performance work to cope with future 10G networks, but I wouldn't be surprised if it did. (With decent machines and a fast enough disk system, it's already fast enough to saturate ordinary gigabit networks.)