PNFS Implementation Issues
From Linux NFS
(Difference between revisions)
		
		
BennyHalevy  (Talk | contribs) m  | 
		BennyHalevy  (Talk | contribs)   | 
		||
| (One intermediate revision not shown) | |||
| Line 1: | Line 1: | ||
| - | |||
| - | |||
* 2007/12/20 bhalevy: nfs4_setup_nfs4_program preps the global nfs_version4 structure. should be per server.  | * 2007/12/20 bhalevy: nfs4_setup_nfs4_program preps the global nfs_version4 structure. should be per server.  | ||
| Line 6: | Line 4: | ||
* 2008-04-02 bhalevy: Implement pnfs-aware pags sync state model.  | * 2008-04-02 bhalevy: Implement pnfs-aware pags sync state model.  | ||
| - | [http://www.bhalevy.com/pnfs/pnfs-page-sync-model.  | + | [http://www.bhalevy.com/pnfs/pnfs-page-sync-model.pdf proposed model]  | 
== Older Issues ==  | == Older Issues ==  | ||
| Line 17: | Line 15: | ||
***Note 2: It seems we might need to add a note that says if you need to retrieve the boundary size from the server, then you must do (a) and/or layoutget_pre_write_coalesce=true.    | ***Note 2: It seems we might need to add a note that says if you need to retrieve the boundary size from the server, then you must do (a) and/or layoutget_pre_write_coalesce=true.    | ||
***Note 3: Use a single layout driver interface op to determine layoutget timing (takes in flag and returns a boolean)  | ***Note 3: Use a single layout driver interface op to determine layoutget timing (takes in flag and returns a boolean)  | ||
| + | |||
| + | == Done ==  | ||
| + | |||
| + | * '''NFSv4.1 Slot table implementation''' - Need to optimize the implementation for finding the lowest slot in the slot table implementation (nfs4_find_slot()).  | ||
Latest revision as of 16:26, 7 April 2008
- 2007/12/20 bhalevy: nfs4_setup_nfs4_program preps the global nfs_version4 structure. should be per server.
 
- 2008-04-02 bhalevy: Implement layout stateid as per draft-21+
 
- 2008-04-02 bhalevy: Implement pnfs-aware pags sync state model.
 
Older Issues
-  layoutget timing
- a) If layoutget_on_open is set, the layout is sent in the same compound as OPEN
 - b) For reads, issue layoutget just before the read rpc is issued (using the offset and extent determined by the readahead code)
 - c) For write, add layoutget_post_write_coalesce and layoutget_pre_write_coalesce (or something)
- Note 1: I think b and c need to happen in addition to a, since the server has the option of not returning a layout on open. Of course, b and c are only executed if the layout extent doesn't already exist in the layout cache.
 - Note 2: It seems we might need to add a note that says if you need to retrieve the boundary size from the server, then you must do (a) and/or layoutget_pre_write_coalesce=true.
 - Note 3: Use a single layout driver interface op to determine layoutget timing (takes in flag and returns a boolean)
 
 
 
Done
- NFSv4.1 Slot table implementation - Need to optimize the implementation for finding the lowest slot in the slot table implementation (nfs4_find_slot()).