mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	pnfs: fix filelayout_retry_commit when idx > 0
filelayout_retry_commit was recently split out from alloc_ds_commits, but was done in such a way that the bucket pointer always starts at index 0 no matter what the @idx argument is set to. The intention of the @idx argument is to retry commits starting at bucket @idx. This is called when alloc_ds_commits fails for a bucket. Signed-off-by: Weston Andros Adamson <dros@primarydata.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
		
							parent
							
								
									0c0e0d3c09
								
							
						
					
					
						commit
						224ecbf5a6
					
				
					 1 changed files with 3 additions and 2 deletions
				
			
		|  | @ -1269,11 +1269,12 @@ filelayout_search_commit_reqs(struct nfs_commit_info *cinfo, struct page *page) | |||
| static void filelayout_retry_commit(struct nfs_commit_info *cinfo, int idx) | ||||
| { | ||||
| 	struct pnfs_ds_commit_info *fl_cinfo = cinfo->ds; | ||||
| 	struct pnfs_commit_bucket *bucket = fl_cinfo->buckets; | ||||
| 	struct pnfs_commit_bucket *bucket; | ||||
| 	struct pnfs_layout_segment *freeme; | ||||
| 	int i; | ||||
| 
 | ||||
| 	for (i = idx; i < fl_cinfo->nbuckets; i++, bucket++) { | ||||
| 	for (i = idx; i < fl_cinfo->nbuckets; i++) { | ||||
| 		bucket = &fl_cinfo->buckets[i]; | ||||
| 		if (list_empty(&bucket->committing)) | ||||
| 			continue; | ||||
| 		nfs_retry_commit(&bucket->committing, bucket->clseg, cinfo); | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Weston Andros Adamson
						Weston Andros Adamson