NFS Priorities Server

From Linux NFS

Jump to: navigation, search

Contents

High priority tasks

No.

Description

Lead developer

Resource estimate

Interested parties

1

Generic correctness issues

  • code inspection for security issues
  • correctness issues with 64-bit architectures

trondmy
cel

3 developer-months
6 test-months

All interested in generic NFS client robustness

2

NFSv4 client-side delegation support

  • finish debugging caching improvements (lock caching)
  • need to add RPCSEC_GSS support for the callback channel

trondmy
bfields

1 developer-month
1 test-month

All interested in NFSv4 client feature-completeness

3

Client-side ACL support

  • finish testing basic NFSv4 implementation

ngallahe

1 test-month

All interested in NFS ACL support, all versions

4

Build suites of NFS client test software

  • Basic suite of check-in tests
  • Other suites for long-running tests, like TPC-C and POSIX conformance
  • Client scalability tests

Bull Open Source

1 developer-month
6 test-months

All interested in generic NFS client performance, scalability, and robustness

5

Support for NFSv4 named attributes

trondmy
bfields

3 developer-month
1 test-month

All interested in NFSv4 client feature-completeness

6

Real-time NFS and RPC metrics

  • Identify developer to provide support in iostat and sar

cel

1 developer-months
1 test-months

All interested in generic NFS client performance and scalability

7

NFS O_DIRECT enhancements

  • aio_readv/aio_writev with O_DIRECT files

cel

1 developer-month
1 test-month

All interested in O_DIRECT performance and scalability

Medium priority tasks

No.

Description

Lead developer

Resource estimate

Interested parties

1

Client support for crossing NFSv4 mount points (also NFSv3 nohide)

trondmy

1 test-months

All interested in next two items

2

Support for crossing mount points with different security flavors

  • Support for NFS4ERR_WRONGSEC
  • Support for NFSv4 SECINFO operation

trondmy

1 developer-month
2 test-months

All interested in support for servers exporting multiple security flavors

3

Client support for migration and replication

  • Support for NFS4ERR_MOVED
  • Support the fs_locations attribute
  • Support for NFS4ERR_FHEXPIRED (volatile file handle expiration)

trondmy

3 developer-months
1 test-month

All interested in support for servers that support migration and replication. NFSv4 "referrals" are useful for building AFS-style namespaces.

4

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

5

Miscellaneous RPCGSS items

  • support for RPCSEC_GSS privacy
  • support for RPCGSS with NFSv2 and v3
  • testing with Active Directory KDC
  • cross-realm authentication (remote user ACLs)
  • testing with NIS and LDAP
  • support for Kerberos V with AES and 3DES

bfields

1 developer-month 4 test-months

All interested in NFS client security feature completeness

6

Integrate keyring support into NFS client

  • Keyring support developed outside NFS development group

trondmy / kwc

1 developer-months
1 test-months

All interested in NFS client ease-of-use (security)

7

Support for SPKM3/lipkey (user and kernel)

  • SPKM3 kernel work done; lipkey still in progress
  • SPKM3 user-level still in progress; lipkey not yet started

kwc

2 developer-months
2 test-month

All interested in NFSv4 client feature-completeness, and in support for SPKM3

8

RPC client transport switch

  • integrated support for delegation callbacks and NFSv4.1 sessions
  • support for RDMA, IPv6, SCTP, TOE, IPsec
  • mount command and ABI changes
  • better RPC client management of mount option defaults
  • dynamic transport module loading

cel

4 developer-months
1 test-month

All interested in IPv6, NFS/RDMA, and other advanced features

9

Support thousands of concurrent mounts per client

  • RPC transport socket sharing
  • More anonymous major and minor numbers

trondmy

1 developer-month
1 test-month

All interested in generic NFS client performance and scalability

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

2

Fine-grained SMP locking

  • Replace wait queues and spin locks in the RPC client scheduler with work queues
  • Study RPC client CPU cache utilization; cache line bouncing; Memory utilization (space and bandwidth)
  • Remove global kernel lock; BKL is held during data copies, effectively serializing them
  • NFS client may have stronger dependencies on BKL than RPC client
  • RPC lock contention on existing spin locks and locks that disable IRQs
  • Enable kernel pre-emption everywhere and make sure NFS client remains robust

trondmy

6 developer-months
3 test-months

All interested in generic NFS client performance and scalability

3

Integrate cachefs for Linux NFS client

  • Resolve inode cache aliasing
  • Cachefs developed outside NFS development group

trondmy
dhowells

3 developer-months
1 test-month

All interested in generic NFS client scalability

4

Separate submount program for NFS

  • Something like /sbin/mount_nfs and /sbin/mount_nfs4 that the real mount command would pass NFS mount requests to.
  • Could make it easier for adding new NFS-related fs types like nfsr (RDMA) or rpc_pipefs.
  • nfsmount.c is a mess anyway, and should be rewritten.
  • Sun now has Connectathon automounter tests for Linux. Also need mount command acceptance and regression tests.
  • Support for nfs2 and nfs3 file system types.

unassigned

3 developer-months
2 test-months

All interested in NFS client code maintainability

5

READDIR caching improvements

  • fix or remove pre-emption points in cache search
  • more efficient storage and management of READDIR/PLUS results
  • more effective use of dentry cache
  • eliminate O(N!) gendents(3) calls
  • support for READDIR operations larger than a single page
  • negative lookup caching
  • improved NFSv4 READDIR efficiency (READDIRPLUS-like support)

trondmy
cel

3 developer-month
1 test-month

All interested in NFSv4 client performance and scalability

6

XDR cleanups, v2/v3

trondmy

2 developer-month
1 test-month

All interested in generic NFS client performance and scalability, and code maintainability

7

Support for NFS/RDMA

mts

2 developer-months
1 test-month

All interested in generic NFS client performance and scalability

8

Support for NFSv4.1 sessions

mts

2 developer-months
1 test-month

All interested in NFS/RDMA, or in improved DRC behavior

9

Support for large (1024KB) NFS READ and WRITE operations

cel

1 developer-month
1 test-month

All interested in generic NFS client performance and scalability

10

BSD credentials

trondmy

2 developer-months
3 test-months

All interested in NFS client ease-of-use (security)

11

Dynamic execution study of RPC client and GSS

  • performance issues with 64-bit architectures
  • memory and CPU cache efficiency
  • performance characterization of security flavors
  • efficiency of soft IRQ mechanism
  • study of NIC hardware and driver implementations

cel

6 developer-months
3 test-months

All interested in generic NFS client performance, scalability, and robustness

12

2.6 VFS readahead algorithm analysis and improvements

  • Completely new read ahead algorithm in 2.6 VFS
  • Develop a test plan for determining how NFS-friendly the new algorithm is
  • Work with VFS maintainers and distributors to create an ongoing testing effort that ensures read ahead behavior improves monotonically
  • Per-file system pluggable read ahead algorithms?

cel
linuxram

2 developer-months
3 test-months

All interested in NFS client performance, especially over WAN

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

Unscheduled tasks

No.

Description

Lead developer

Resource estimate

Interested parties

1

Support for "llock" mount option

cel

1 developer-month
1 test-month

All interested in generic NFS client performance and scalability

2

Support for "noacl" mount option (disabling ACCESS operations)

cel

1 developer-month
1 test-month

All interested in generic NFS client performance and scalability

3

Coalesce synchronous writes (allow synchronous writes larger than a page)

cel

1 developer-month
1 test-month

All interested in generic NFS client performance and scalability

4

In-kernel client-side NSM

okir

2 developer-month
1 test-month

All interested in NFSv2/3 stability and ease of use

5

Improve behavior of NFS over UDP

trondmy

1 developer-month
2 test-months

All interested in NFSv2/3 client performance, scalability, and robustness

6

Deploy a bug tracking database for NFS developers

trondmy

1 developer-month
1 test-months

All interested in code maintenance

7

Servicability enhancements

  • Improving trace messages
  • Improving error messages

steved

2 developer-month
2 test-months

All interested in ease-of-use

8

Multi-path I/O and high availability

  • Figure out what multi-path means for NFS
  • Identify H/A requirements
  • Robust implementation of NFSv4 migration and replication

unassigned

3 developer-months
6 test-months

All interested in NFS client availability

9

Support NFS aio

  • identify test suites and do performance characterizations

cel

2 developer-months
2 test-months

All interested in using aio

Personal tools