PNFS Todo List

From Linux NFS

(Difference between revisions)
Jump to: navigation, search
(Post Connectathon 2009 Todo's)
Line 1: Line 1:
== NFSv4.1 (sessions) Todo List ==
== NFSv4.1 (sessions) Todo List ==
 +
==== Client ====
 +
* [2009-02] mount version negotiation
 +
** Propagate error up to the mount system call (Andy)
 +
** Update mount utils command to reissue the mount with a different version (SteveD)
 +
* [2009-02] New backchannel implementation that handles multiple flavor authentication (Ricardo)
 +
* [2009-02] Documentation
 +
** What functionality is supported?  What will a user be able to do?
 +
* [2009-02] Lock Sequencing
 +
** With the advent of Sessions, the open sequencing should be reworked to avoid double sequencing.  No need to sequence in the operations if the session is already sequencing (Lower priority)
 +
* [2008-08] Propose design for unified client/LD device cache. (Benny)
 +
==== Server ====
 +
* Bug 172 -  EXCHANGE_ID does not reply on first request (Andy)
 +
* [2009-02] Client should validate Backchannel attributes
 +
** The client determines the resources used by the backchannel.  If the server ignores the client specification, and changes the values, the client shou8ld drop the mount to v4
 +
* [2009-02] Documentation
 +
** What functionality is supported?  What will a user be able to do?
* [2008-10] Never return NFS4ERR_RESOURCE in nfs41/pnfs. Error code was deprecated.  Typically need to return NFS4ERR_REQ_TOO_BIG instead.
* [2008-10] Never return NFS4ERR_RESOURCE in nfs41/pnfs. Error code was deprecated.  Typically need to return NFS4ERR_REQ_TOO_BIG instead.
-
 
-
* [2008-08] Investigate cleaning up nfs41 callback service handling on client side backchannel to use svc_rqst all the way through rather than converting back into rpc_rqst to send reply. (Ricardo)
 
-
 
-
* [2008-08] Propose design for unified client/LD device cache. (Benny)
 
-
 
* [2008-04-10] Add an option to control nfsv4.1 on the server side.
* [2008-04-10] Add an option to control nfsv4.1 on the server side.
-
** The motivation is disabling 4.1 on the server without having to rebuild the kernel.  Some use cases: a faulty 4.1 client,
+
** The motivation is disabling 4.1 on the server without having to rebuild the kernel.  Some use cases: a faulty 4.1 client, or one that's crashing the server, or just for easier debugging of the client (4.1 client mounting a 4.0 server).
-
or one that's crashing the server, or just for easier debugging of the client (4.1 client mounting a 4.0 server).
+
== pNFS Todo List ==
== pNFS Todo List ==

Revision as of 01:55, 28 February 2009

Contents

NFSv4.1 (sessions) Todo List

Client

  • [2009-02] mount version negotiation
    • Propagate error up to the mount system call (Andy)
    • Update mount utils command to reissue the mount with a different version (SteveD)
  • [2009-02] New backchannel implementation that handles multiple flavor authentication (Ricardo)
  • [2009-02] Documentation
    • What functionality is supported? What will a user be able to do?
  • [2009-02] Lock Sequencing
    • With the advent of Sessions, the open sequencing should be reworked to avoid double sequencing. No need to sequence in the operations if the session is already sequencing (Lower priority)
  • [2008-08] Propose design for unified client/LD device cache. (Benny)

Server

  • Bug 172 - EXCHANGE_ID does not reply on first request (Andy)
  • [2009-02] Client should validate Backchannel attributes
    • The client determines the resources used by the backchannel. If the server ignores the client specification, and changes the values, the client shou8ld drop the mount to v4
  • [2009-02] Documentation
    • What functionality is supported? What will a user be able to do?
  • [2008-10] Never return NFS4ERR_RESOURCE in nfs41/pnfs. Error code was deprecated. Typically need to return NFS4ERR_REQ_TOO_BIG instead.
  • [2008-04-10] Add an option to control nfsv4.1 on the server side.
    • The motivation is disabling 4.1 on the server without having to rebuild the kernel. Some use cases: a faulty 4.1 client, or one that's crashing the server, or just for easier debugging of the client (4.1 client mounting a 4.0 server).

pNFS Todo List

  • [2008-10] Properly define NFS4_DEV_NOTIFY_MAXENTRIES to handle anything that fits in the negotiated max. request size for the backchannel.
  • [2008-06-30] Separate pnfsd export and callback API out of export_operations. (Ricardo)
  • [2008-06-30] Clean up pnfsd callback vector registration model. Provide for orderly nfsd shutdown to allow the filesystem to recall layouts upon shutdown.
  • [2008-04-02] Implement pnfs-aware page sync state model.

proposed model

Done

  • [2008-08] Revamp reply cache for nfsv4 and nfsv4.1. (Andy)
  • [2008-08] Trond verbally NACKed rpc_call_validate_args, suggest looking into using existing rpc_call_prepare infrastructure instead. (Andy)
  • [2008-06-30] Change fs/nfsd/nfs4xdr.c decoding/encoding to table based (bhalevy)
  • [2008-04-07] Prepare and send nfs41 patches for review. (bhalevy)
    • Depends on support for concurrent 4.0 and 4.1 mounts.
  • [2008-04-07] Add an option for nfsv4.1 to the nfs mount program.
    • "{nfs,}vers=41" seems to be the most appropriate. See nfs_mount_option_tokens in fs/nfs/super.c. Note that kernel nfs root (in fs/nfs/nfsroot.c does not current (2.6.25-rc8) support root over nfsv4 only "nfsvers=[23]".
  • [2008-04-07] Support concurrent nfsv4.0 and 4.1.
    • Get rid of global nfs4_procedures and move the pointer to struct nfs_client. (bhalevy)
    • nfs_version4 should not be global. We apparently need to either:
      • Split nfs_version and nfs_program to nfs_{version,program}4 and nfs_{version,program}41, make them static in fs/nfs/client.c and use either based on minorversion, or
      • teach rpc code, e.g. rpc_bind_new_program about minor version (and represent it in struct rpc_version). (bhalevy)
    • Manage callback threads for 4.0 and 4.1
      • Can either keep a separate use count, or
      • bring them up and down together. (rlabiaga)
  • Agree on LD API changes for block layout (Fred and Dean) then merge generic pnfs patch (fred-pnfs) into pnfs branch. (bhalevy)
  • [2008-04-02] Implement layout stateid as per draft-21+ (andros)
Personal tools