From Linux NFS
- Complete server export getdeviceinfo/getdevicelist implementation [Marc/Dean]
- Number of sessions slots hardcoded to be number of rpc slots. Need ability to dynamically change this value. rpc_slots is ceiling on sessions_slots. Dynamic slot allocation on client and server. [Rahul]
- Sessions priority on sessions slot table. Change to use priority wait queue for slot table. (will do fair scheduling) []
- Session/sunrpc retry behavior [Rahul/Ricardo]
-> Somewhat solved in 2.6.23, but need to rebind connection to session. It should be breaking the connection.
-> On interupt, client sends async OP_SEQUENCE. Based on result, fix up seqid. Slot should not be released until seqid is correct.
-> Problem 1: Client currently using ip address for MDS and NULL for data server (for client ip address). We need to ensure a value for the client is given to the data server. One proposal is to use the hostname of the client (instead of the ip address) for both the MDS and DS, possibly limiting its length to 64 bytes.
-> Problem 2: Currently, it always takes 2 SESSIONID requests to create a client. The first is the previous client and the second is a new string for the identifier. A possible solution is to ensure we call DESTROY_CLIENTID once the last
- Client layout syncronization issues [Benny]
- 2.6.18 client port to 2.6.23 [Andy, Ricardo]
- Managing layout segment (alloc/inject layout) [Andy, Benny]
- Layout device/lease []
- Delegations and Layouts []
- Continue to use devicelist on mount? []
- MDS/DS I/O syncronization, need to determine if 'commit' needs to be sent to data servers and/or MDS []
-> Interface to layout driver is fine (sends list of dirty pages) but need flag to indicate if those pages were written to a data server or MDS (might also need another flag to say that once they are committed they also need to be layoutcommitted)
- Layoutget timing [Andy pay attention as code ported forward]
-> Put when write/read chunk size determined (nfs_pageio_init_write/read)
- Asyncronous layoutget [Future Work, Requires more investigation/justification]
- Server 4.1 replay cache [Extra 4.1 correctness work]
- Layout driver API and layout driver callback API needs to be streamlined and optimized
-> Avoid having layout driver calling NFS common code directly, it should use the layout driver callback API.
- Must call layoutcommit before removing pages from page cache.
- devicelist crashes kernel if use 4KB pages
-> Need to dynamically allocate devlist