Bakeathon 2007 Issues List
From Linux NFS
(Difference between revisions)
Line 1: | Line 1: | ||
* Complete server export getdeviceinfo/getdevicelist implementation [Marc/Dean] | * Complete server export getdeviceinfo/getdevicelist implementation [Marc/Dean] | ||
+ | ** Status: In Progress | ||
* 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] | * 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] | ||
+ | ** Status: ?? | ||
* Sessions priority on sessions slot table. Change to use priority wait queue for slot table. (will do | * Sessions priority on sessions slot table. Change to use priority wait queue for slot table. (will do | ||
- | fair scheduling) [] | + | fair scheduling) [??] |
+ | ** Status: Done?? | ||
* Session/sunrpc retry behavior [Rahul/Ricardo] | * 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. | **Somewhat solved in 2.6.23, but need to rebind connection to session. It should be breaking the connection. | ||
+ | ** Status: ?? | ||
* Session interupt issues | * Session interupt issues | ||
** On interupt, client sends async OP_SEQUENCE. Based on result,fix up seqid. Slot should not be released until seqid is correct. | ** On interupt, client sends async OP_SEQUENCE. Based on result,fix up seqid. Slot should not be released until seqid is correct. | ||
+ | ** Status: ?? | ||
* Create clientid | * Create clientid | ||
- | ** 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. Patch created for 2.6.18 which sends hostname (first 16 bytes) to DS's. | + | ** 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. Patch created for 2.6.18 which sends hostname (first 16 bytes) to DS's. [??] |
+ | ** Status: Open - critical | ||
* Destroy clientid. | * Destroy clientid. | ||
- | ** 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 | + | ** 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 [Ricardo] |
- | + | ** Status: ?? | |
- | + | ||
- | * 2.6.18 client port to 2.6. | + | * Client layout synchronization issues. (Need more info) [Benny] |
+ | ** Status: Open | ||
+ | |||
+ | * 2.6.18 client port to 2.6.2X-XX [Andy, Ricardo] | ||
+ | ** Status: In Progress | ||
* Managing layout segment (alloc/inject layout) [Andy, Benny] | * Managing layout segment (alloc/inject layout) [Andy, Benny] | ||
+ | ** Status: Open - optimization | ||
* Layout device/lease [?] | * Layout device/lease [?] | ||
** Layouts and devices need to be destroyed when lease ends | ** Layouts and devices need to be destroyed when lease ends | ||
+ | ** Status: Open - critical | ||
* Inefficient Delegation and Layout recall [?] | * Inefficient Delegation and Layout recall [?] | ||
** Implement hash table keyed on filehandle to lookup state information on delegation and layout recalls. | ** Implement hash table keyed on filehandle to lookup state information on delegation and layout recalls. | ||
+ | ** Status: Open - optimization | ||
- | * Continue to use devicelist on mount? [] | + | * Continue to use devicelist on mount? [??] |
+ | ** Status: Closed - (yes, for the forseeable future) | ||
- | * MDS/DS I/O syncronization, need to determine if 'commit' needs to be sent to data servers and/or MDS [] | + | * 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) | ** 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) | ||
+ | ** Status: Open - critical | ||
* Layoutget clienttiming [Andy pay attention as code ported forward] | * Layoutget clienttiming [Andy pay attention as code ported forward] | ||
** Put when write/read chunk size determined (nfs_pageio_init_write/read) | ** Put when write/read chunk size determined (nfs_pageio_init_write/read) | ||
+ | *** Status: Closed - (Andy moved timing of layoutget as stated) | ||
** On OPEN, call LAYOUTGET with zero offset and extent values. This indicates to the server/fs to give whatever layout range it wishes. | ** On OPEN, call LAYOUTGET with zero offset and extent values. This indicates to the server/fs to give whatever layout range it wishes. | ||
+ | *** Status: Open - optimization | ||
- | * Asyncronous layoutget | + | * Asyncronous layoutget |
+ | ** Status: Closed - (Requires investigation of performance benefit) | ||
- | * Server 4.1 replay cache [Extra 4.1 correctness work] | + | * Server 4.1 replay cache [?] |
+ | ** Status: Open - [Extra 4.1 correctness work, not required for kernel acceptance] | ||
- | * Layout driver API and layout driver callback API needs to be streamlined and optimized | + | * 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. | ** Avoid having layout driver calling NFS common code directly, it should use the layout driver callback API. | ||
+ | ** Status: Open - optimization | ||
* Must call layoutcommit before removing pages from page cache. | * Must call layoutcommit before removing pages from page cache. | ||
+ | ** Status: Open - [Extra 4.1 correctness work, not required for kernel acceptance] | ||
- | * devicelist crashes kernel if use 4KB pages | + | * devicelist crashes kernel if use 4KB pages [?] |
** Need to dynamically allocate devlist | ** Need to dynamically allocate devlist | ||
+ | ** Status: Open |
Revision as of 21:34, 12 December 2007
- Complete server export getdeviceinfo/getdevicelist implementation [Marc/Dean]
- Status: In Progress
- 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]
- Status: ??
- Sessions priority on sessions slot table. Change to use priority wait queue for slot table. (will do
fair scheduling) [??]
- Status: Done??
- 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.
- Status: ??
- Session interupt issues
- On interupt, client sends async OP_SEQUENCE. Based on result,fix up seqid. Slot should not be released until seqid is correct.
- Status: ??
- Create clientid
- 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. Patch created for 2.6.18 which sends hostname (first 16 bytes) to DS's. [??]
- Status: Open - critical
- Destroy clientid.
- 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 [Ricardo]
- Status: ??
- Client layout synchronization issues. (Need more info) [Benny]
- Status: Open
- 2.6.18 client port to 2.6.2X-XX [Andy, Ricardo]
- Status: In Progress
- Managing layout segment (alloc/inject layout) [Andy, Benny]
- Status: Open - optimization
- Layout device/lease [?]
- Layouts and devices need to be destroyed when lease ends
- Status: Open - critical
- Inefficient Delegation and Layout recall [?]
- Implement hash table keyed on filehandle to lookup state information on delegation and layout recalls.
- Status: Open - optimization
- Continue to use devicelist on mount? [??]
- Status: Closed - (yes, for the forseeable future)
- 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)
- Status: Open - critical
- Layoutget clienttiming [Andy pay attention as code ported forward]
- Put when write/read chunk size determined (nfs_pageio_init_write/read)
- Status: Closed - (Andy moved timing of layoutget as stated)
- On OPEN, call LAYOUTGET with zero offset and extent values. This indicates to the server/fs to give whatever layout range it wishes.
- Status: Open - optimization
- Put when write/read chunk size determined (nfs_pageio_init_write/read)
- Asyncronous layoutget
- Status: Closed - (Requires investigation of performance benefit)
- Server 4.1 replay cache [?]
- Status: Open - [Extra 4.1 correctness work, not required for kernel acceptance]
- 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.
- Status: Open - optimization
- Must call layoutcommit before removing pages from page cache.
- Status: Open - [Extra 4.1 correctness work, not required for kernel acceptance]
- devicelist crashes kernel if use 4KB pages [?]
- Need to dynamically allocate devlist
- Status: Open