ToDone list for KNFSD - The Kernel NFS Daemon for Linux


  1. Merge NLMv4 patches for lockd from Trond and SGI into 2.3 - People at SGI might be working on this.
  2. Get READDIRPLUS to return filehandles and attributes properly. It currently cannot because in the place that it needs to call lookup_dentry, the i_sem semaphore is held, and lookup_dentry might try to claim the semaphore - deadlock. The right approach is probably to factor out the heart of lookup_dentry (where it says "This does the actual lookups") into a "lookup_one_dentry" which takes a flag saying whether or not the i_sem is currently held.
  3. Run Connect-a-thon tests on the NFSv3 server.
  4. Change the format of the filehandle to make it more extensible. I sent mail to nfs-devel outlining this, but wont have time to implement it until southern-autumn 2000.
  5. When synchronous writes are enabled, inode changes (particularly SETATTR and CREATE) don't get written syncronously to disc, as there is no interface to do that. Such an interface should be added to nfsd_operations. (it was done by adding a "wait" flag to write_inode).

Last updated 15th June 2000
Visit my home page.
A
If compiled without NFSv3 support, nfsd would not honor the "async" export option properly. I've removed a lot of CONFIG_NFSD_V3 ifdefs which were just confusing, and tidied up the ones that were left, and in the process fixed a problem were nfsd_rename could leave i_sem down on some directories.
B
Check checksums on incoming UDP packets.
C
Work around a bug in Solaris-7 client whereby high bit of mtime/atime gets set by exclusive create, but then causes problems. Actually makes the verifier handling code a bit more elegant
D
Assorted tidyups and bug fixes is vfs.c and export.c, includes
E Removed fh_dverified because it is not needed. It is set precisely when fh_dentry != NULL (thanks Trond)
F
The reply cache didn't differentiate between different clients on the same IP address. Now it differentiates based on port+IPaddr+protocol+version and ignored matches more than 2 minutes old.
A-F
All of A to F above in one patch.