PNFS Todo List
From Linux NFS
(Difference between revisions)
BennyHalevy (Talk | contribs) |
BennyHalevy (Talk | contribs) |
||
Line 1: | Line 1: | ||
== NFSv4.1 (sessions) Todo List == | == NFSv4.1 (sessions) Todo List == | ||
+ | |||
+ | * [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) | * [2008-04-07] Prepare and send nfs41 patches for review. (bhalevy) | ||
Line 7: | Line 9: | ||
** 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 == | ||
- | * | + | * [2008-06-30] Separate pnfsd export and callback API out of export_operations. |
- | * [2008- | + | * [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. | * [2008-04-02] Implement pnfs-aware page sync state model. | ||
Line 25: | Line 25: | ||
* [2008-04-07] Support concurrent nfsv4.0 and 4.1. | * [2008-04-07] Support concurrent nfsv4.0 and 4.1. | ||
- | ** Get rid of global nfs4_procedures and move the pointer to struct nfs_client. ( | + | ** 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: | ** 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 | *** 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). ( | + | *** 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 | ** Manage callback threads for 4.0 and 4.1 | ||
*** Can either keep a separate use count, or | *** Can either keep a separate use count, or | ||
- | *** bring them up and down together. ( | + | *** 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) |
Revision as of 08:19, 30 June 2008
NFSv4.1 (sessions) Todo List
- [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-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-06-30] Separate pnfsd export and callback API out of export_operations.
- [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.
Done
- [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)