The following entries address various needs, how to approach them, and whether they have been addresses.
There should probably be a link to some patches here. But there isn't. Sorry about that. Maybe there will be soon when I get that more organised.
13 May 2004, 0:01 UTCBetter FSID management
An NFS filehandle stores information to identify a filesystem (or directory in the filesystem that is the export point) and a file within that filesystem.
Identifying the file within the filesystem is now handled fairly well, but there are problems with identifying the filesystem.
12 May 2004, 7:17 UTCBetter read-ahead management and other file-open issues
NFS (prior to V4) does not have a concept of opening and closing a file.
The Linux VFS does include that concept.
So the NFS server has to open the file before a READ or WRITE operation, and close it afterwards.
Some funcitonality in filesystems and in the VFS assumes that the open/close requests that are passed down correspond to opens and closes by the application, and that a particular "file" structure belongs to a particular application (possibly a group of processes). Thus he current open/IO/close approach does not give good information to filesystems
12 May 2004, 7:15 UTCMore efficient COMMIT
The COMMIT NFSv4 (and NFSv4) request asked to sync a range of a file. However the Linux VFS only
allows a whole file to by synced
12 May 2004, 3:40 UTCRPCSEC/GSS
It would be really nice to have good RPCSEC/GSS support in nfs.
12 May 2004, 3:37 UTCIPv6 support
It is possible that IPv6 support would be useful in nfs.
12 May 2004, 1:56 UTCSMP afinity for threads and sockets
There is probably some value in assigning some processor or NUMA-node affinity to nfsd server threads and possibly to sockets as well
12 May 2004, 1:09 UTCDynamic thread count
The number of nfsd threads is currently static, though it can be changed from user-space.
There is value is having a dynamic number of threads. It means that the system administrator does not need to pick a number and hope it works. Even if the sysadmin is very clever, there will often be either too many threads, wasting memory, or too few causing uneeded delays. Having a dynamic number of threads means that the number can follow load.