Merge branch 'cleanups' into next
This commit is contained in:
		
						commit
						cdd0972945
					
				| @ -351,15 +351,13 @@ int nfs_writepages(struct address_space *mapping, struct writeback_control *wbc) | ||||
| /*
 | ||||
|  * Insert a write request into an inode | ||||
|  */ | ||||
| static int nfs_inode_add_request(struct inode *inode, struct nfs_page *req) | ||||
| static void nfs_inode_add_request(struct inode *inode, struct nfs_page *req) | ||||
| { | ||||
| 	struct nfs_inode *nfsi = NFS_I(inode); | ||||
| 	int error; | ||||
| 
 | ||||
| 	error = radix_tree_insert(&nfsi->nfs_page_tree, req->wb_index, req); | ||||
| 	BUG_ON(error == -EEXIST); | ||||
| 	if (error) | ||||
| 		return error; | ||||
| 	BUG_ON(error); | ||||
| 	if (!nfsi->npages) { | ||||
| 		igrab(inode); | ||||
| 		if (nfs_have_delegation(inode, FMODE_WRITE)) | ||||
| @ -369,8 +367,8 @@ static int nfs_inode_add_request(struct inode *inode, struct nfs_page *req) | ||||
| 	set_page_private(req->wb_page, (unsigned long)req); | ||||
| 	nfsi->npages++; | ||||
| 	kref_get(&req->wb_kref); | ||||
| 	radix_tree_tag_set(&nfsi->nfs_page_tree, req->wb_index, NFS_PAGE_TAG_LOCKED); | ||||
| 	return 0; | ||||
| 	radix_tree_tag_set(&nfsi->nfs_page_tree, req->wb_index, | ||||
| 				NFS_PAGE_TAG_LOCKED); | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
| @ -582,6 +580,13 @@ static struct nfs_page * nfs_update_request(struct nfs_open_context* ctx, | ||||
| 		/* Loop over all inode entries and see if we find
 | ||||
| 		 * A request for the page we wish to update | ||||
| 		 */ | ||||
| 		if (new) { | ||||
| 			if (radix_tree_preload(GFP_NOFS)) { | ||||
| 				nfs_release_request(new); | ||||
| 				return ERR_PTR(-ENOMEM); | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		spin_lock(&inode->i_lock); | ||||
| 		req = nfs_page_find_request_locked(page); | ||||
| 		if (req) { | ||||
| @ -592,28 +597,27 @@ static struct nfs_page * nfs_update_request(struct nfs_open_context* ctx, | ||||
| 				error = nfs_wait_on_request(req); | ||||
| 				nfs_release_request(req); | ||||
| 				if (error < 0) { | ||||
| 					if (new) | ||||
| 					if (new) { | ||||
| 						radix_tree_preload_end(); | ||||
| 						nfs_release_request(new); | ||||
| 					} | ||||
| 					return ERR_PTR(error); | ||||
| 				} | ||||
| 				continue; | ||||
| 			} | ||||
| 			spin_unlock(&inode->i_lock); | ||||
| 			if (new) | ||||
| 			if (new) { | ||||
| 				radix_tree_preload_end(); | ||||
| 				nfs_release_request(new); | ||||
| 			} | ||||
| 			break; | ||||
| 		} | ||||
| 
 | ||||
| 		if (new) { | ||||
| 			int error; | ||||
| 			nfs_lock_request_dontget(new); | ||||
| 			error = nfs_inode_add_request(inode, new); | ||||
| 			if (error) { | ||||
| 				spin_unlock(&inode->i_lock); | ||||
| 				nfs_unlock_request(new); | ||||
| 				return ERR_PTR(error); | ||||
| 			} | ||||
| 			nfs_inode_add_request(inode, new); | ||||
| 			spin_unlock(&inode->i_lock); | ||||
| 			radix_tree_preload_end(); | ||||
| 			req = new; | ||||
| 			goto zero_page; | ||||
| 		} | ||||
|  | ||||
| @ -127,11 +127,12 @@ int		rpcb_getport_sync(struct sockaddr_in *, u32, u32, int); | ||||
| void		rpcb_getport_async(struct rpc_task *); | ||||
| 
 | ||||
| void		rpc_call_start(struct rpc_task *); | ||||
| int		rpc_call_async(struct rpc_clnt *clnt, struct rpc_message *msg, | ||||
| 			       int flags, const struct rpc_call_ops *tk_ops, | ||||
| int		rpc_call_async(struct rpc_clnt *clnt, | ||||
| 			       const struct rpc_message *msg, int flags, | ||||
| 			       const struct rpc_call_ops *tk_ops, | ||||
| 			       void *calldata); | ||||
| int		rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, | ||||
| 			      int flags); | ||||
| int		rpc_call_sync(struct rpc_clnt *clnt, | ||||
| 			      const struct rpc_message *msg, int flags); | ||||
| struct rpc_task *rpc_call_null(struct rpc_clnt *clnt, struct rpc_cred *cred, | ||||
| 			       int flags); | ||||
| void		rpc_restart_call(struct rpc_task *); | ||||
|  | ||||
| @ -548,7 +548,7 @@ EXPORT_SYMBOL_GPL(rpc_run_task); | ||||
|  * @msg: RPC call parameters | ||||
|  * @flags: RPC call flags | ||||
|  */ | ||||
| int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, int flags) | ||||
| int rpc_call_sync(struct rpc_clnt *clnt, const struct rpc_message *msg, int flags) | ||||
| { | ||||
| 	struct rpc_task	*task; | ||||
| 	struct rpc_task_setup task_setup_data = { | ||||
| @ -579,7 +579,7 @@ EXPORT_SYMBOL_GPL(rpc_call_sync); | ||||
|  * @data: user call data | ||||
|  */ | ||||
| int | ||||
| rpc_call_async(struct rpc_clnt *clnt, struct rpc_message *msg, int flags, | ||||
| rpc_call_async(struct rpc_clnt *clnt, const struct rpc_message *msg, int flags, | ||||
| 	       const struct rpc_call_ops *tk_ops, void *data) | ||||
| { | ||||
| 	struct rpc_task	*task; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user