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
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
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
Ongoing tasks
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