FS locations: * Finish testing, debugging the existing fs locations code. * Write low-level userland utilities for managing fs locations. * Write higher-level (probably GUI) tools for managing largish namespaces. Client keytab distribution: * NFSv4 clients will require keytabs. This might mean distributing thousands of keytabs at a time. We need a way to automate this. It should help that the security requirements for these keytabs are somewhat looser than those for the keytabs we give out to servers. * Is there a paper in this if we get it right? NFSv4 performance study: * Mona Lisa is a performance monitoring and visualization tool. (Andy--do you have a URL for this?) Write an NFSv4 plugin for it. * More generally, work on characterizing performance of the v4 client and server. * We need to figure out the right questions to ask; work with Chuck on this? General testing: * Revive the python client tester? * Talk to Fred for other ideas. * Tentatively, we have someone (Dan?) working on this. He doesn't seem to have really gotten started. We need to figure out what his plans are. Server delegation policy and mechanism: * Write an internal nfsd API allowing enforcement of various delegation policies based on the history of file accesses. * Write a few example policies that use this mechanism. * Test performance under the various policies. NFSv4 CITI production stuff: * Set up backups for screamer. * Look at what's required to move any CITI services to NFSv4. * Figure out what's required to convert existing AFS volumes (with ACL's, users, etc.) Security audit: * Point someone at a random piece of code, tell them to find bugs. cross-realm LDAP management: * Some tools are probably needed for populating and maintaining ldap databases. * Kevin and Andy are the experts. Improve mount: * Currently the NFS mount code is in the util-linux package, and is compiled into /bin/mount. We should switch to a separate mount.nfs binary, built from the nfs-utils package. * Ditto for mount.nfs4. * We want to transition to a new, more portable and extensible mount/kernel interface. This will require working closely with Trond on some kernel changes, which should be fairly straightforward. keyring, gssd projects: * SASL/libgssapi integration, so svcgssd can communicate securely with ldap server. * Fix NFSv3/gss problems (e.g., problems with mountd). * GUI for credential management, including notifications on expiration, etc. * Heimdal integration, testing * ??? Talk to Kevin for more ideas. Implement channel bindings: * This allows gssapi to take advantage of security provided by a lower level. So you can get privacy services over an encrypted link without adding a second layer encryption in the rpcsec_gss layer. * See Nico's draft: http://www.ietf.org/internet-drafts/draft-ietf-nfsv4-channel-bindings-03.txt VFS support for "subfiles" / named attributes: * Requires digesting previous LKML discussions (related to reiserfs) on this subject, and then writing a linux VFS API that will (eventually) pass muster with Al Viro & co..... Allow administrator management of server's NFSv4 state: * Allow manual revocation of locks * Server resource limits * Requires designing interfaces and writing kernel & user code. linux-nfs.org setup: * Trond's ordering new hardware to host linux-nfs.org. In addition to current services (mailing list, web) we might like to set up a bug database, wiki, blog software, ? IP over Infiniband support in Linux 2.6 kernels: * Configure a couple of Linux systems and route IP traffic over a back-to-back IB network * Identify what's needed to make NFS work between them * Write a brief report on what you found and document a How-To recipe for setting it up The Effects of Network Latency on NFS performance: * Build a test harness you can use to explore how network latency affects the performance of NFS * Create a simple mathematical model that predicts application performance given a client's wire operation mix and the latency of the network and server * Use the model to improve the client's and server's behavior in a WAN environment * Write a report on what you found Review NFS user documentation in Linux: * Identify user documentation in Linux that needs revision now that NFSv4 features have been added * Update the documentation and publish the patches IPv6 at CITI: * Learn about IPv6 * Identify what would be needed to set up a test IPv6 environment at CITI * Identify what would be needed to convert CITI's production environment to IPv6 * Write a report on what you found Embracing Cogito: * Learn about git and cogito * Track its readiness * Set up a cogito repository or two * Help others learn how to use it