Linux NFSv4 server prioritized to-do list

This document estimates work in-progress and remaining work to do on the Linux kernel's NFSv4 server. Related work on user-level tools and libraries and automounter support may be described in other documents.

Several tables below describe specific tasks we'd like to accomplish for the Linux NFSv4 server. All tasks in one table are of the same priority (H, M, L), and are ordered within each table roughly by their priority relative to other tasks in the same table. Each task includes a description, an estimate of resources required (in developer months), and a list of interested parties. A set of test plans for each task will be provided later.

Last modified: Tue Mar 8 14:29:22 EDT 2005

High priority tasks

No. Description Lead developer Resource estimate Interested parties
1 Delegations: Finish kernel implementation
  • Write delegation: test current patch
  • CB_GETATTR: no current code
  • RPCSEC_GSS on the callback path
  • Add break_lease() calls to VFS rename and unlink operations
  • Implement reclaim OPEN of type CLAIM_DELEGATE_PREV
  • New file system call to set up callbacks so that symmetric cluster-fs-backed filesystems can give out delegations
  • Design a policy interface for delegations: when does the server hand out a delegation?
andros 2 developer-month
2 test-month
andros, bfields
2 Byte-range Locking
  • Review VFS POSIX lock implemetation: remove known races
  • Review proposed added async callbacks for file_operations->lock needed so that symmetric cluster-fs-backed filesystems can hand out byte-range locks over Lockd and NFSv4.
  • Implement a fair list for blocking byte-range locks. Use ->lock callbacks
andros 1 developer-months
1 test-months
andros, bfields
3 OPEN share locking with deny access support
  • New file system non POSIX OPEN call with deny access bits. Async callbacks to support fi to set up callbacks so that symmetric cluster-fs-backed filesystems can give out delegations
andros 1 developer-month
1 test-month
andros, bfields
4 ACL support
  • finish testing basic NFSv4 implementation
bfields 1 test-month All interested in NFS ACL support, all versions
5 Server reboot recovery
  • Code review and test recovery directory implementation
  • Save SETCLIENTID principal in file under clientid directory
andros 1/2 developer-month
andros
6 Server support for fs_locations
  • Review implemetation
  • Write a name space management tool
  • Develop test suites
bfields 2 developer-months
1 test-months
bfields, jiayingz
7 Server support for SECINFO
  • Support for multiple security flavors per export
  • Develop test suites
andros 1 developer-month
1 test-month
andros, bfields
8 pynfs client test Failures
  • Bug fixes for all pynfs tests
bfields 1 developer-month bfields,issaman
9 RPCSEC_GSS/Krb5 privacy support
bfields All interested in NFSv4 client feature-completeness
10 Server SPKM3 and LIPKEY support
  • Update existing kernel code including privacy and keyring integration
  • Finish user-land spkm3 libraries
andros andros, kwc

Medium priority tasks

No. Description Lead developer Resource estimate Interested parties
1 Server support for NFSv4 named attributes
  • Revitalize/join Linux community discussion on a VFS sub-directory named attribute architecture.
bfields All interested in NFSv4 client feature-completeness
2 NFSv4.0 Duplicate Reply Cache
  • Integrate portions of the Sessions minor version DRC
  • Per operation, not per RPC DRC
andros 1 delevoper-month baumanj
3 Stability and performance testing
OSDL On-going CITI and OSDL
4 Review server code
  • General code review
  • Add reference counting for state structures
  • XDR decode rewrite
  • Review all dprintks
bfields 1 developer-months
1 test-month
All interested in NFSv4 stability
5 NFSv4 Idmapper and gssd improvements
  • scalability
  • more flexible ID mapping
unassigned 3 developer-months
1 test-month
All interested in NFSv4 client configurability, performance, and scalability
6 RPC server transport switch
  • design and implementation of transport switch
cel 4 developer-months
1 test-month
All interested in IPv6, NFS/RDMA, and other advanced features
7 GSS scalability
  • RPCGSS_SEC window
  • Threaded rpc.svcgssd
  • Server gss upcall performance
andros 1 developer-month
1 test-month
andros, kwc, bfields

Low priority tasks

Ongoing tasks

No. Description Lead developer Resource estimate Interested parties
1 Support for IPv6 Groupe Bull 2 developer-months
3 test-months
All interested in generic support for NFS over IPv6
8 Support for NFSv4.1 sessions baumanj 2 developer-months
1 test-month
All interested in NFS/RDMA, or in improved DRC behavior
No. Description Lead developer Resource estimate Interested parties
1 Maintaining the Linux NFS FAQ cel 1 developer-month per year
2 Performance characterization and regression testing unassigned 24 test-months per year All interested in generic NFS client stability