diff options
Diffstat (limited to 'fs/nfs/proc.c')
| -rw-r--r-- | fs/nfs/proc.c | 21 | 
1 files changed, 16 insertions, 5 deletions
diff --git a/fs/nfs/proc.c b/fs/nfs/proc.c index d6408b6437d..a706b6bcc28 100644 --- a/fs/nfs/proc.c +++ b/fs/nfs/proc.c @@ -178,7 +178,7 @@ nfs_proc_setattr(struct dentry *dentry, struct nfs_fattr *fattr,  }  static int -nfs_proc_lookup(struct rpc_clnt *clnt, struct inode *dir, struct qstr *name, +nfs_proc_lookup(struct inode *dir, struct qstr *name,  		struct nfs_fh *fhandle, struct nfs_fattr *fattr)  {  	struct nfs_diropargs	arg = { @@ -640,12 +640,14 @@ nfs_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle,  static int nfs_read_done(struct rpc_task *task, struct nfs_read_data *data)  { +	struct inode *inode = data->header->inode; +  	if (nfs_async_handle_expired_key(task))  		return -EAGAIN; -	nfs_invalidate_atime(data->inode); +	nfs_invalidate_atime(inode);  	if (task->tk_status >= 0) { -		nfs_refresh_inode(data->inode, data->res.fattr); +		nfs_refresh_inode(inode, data->res.fattr);  		/* Emulate the eof flag, which isn't normally needed in NFSv2  		 * as it is guaranteed to always return the file attributes  		 */ @@ -667,11 +669,13 @@ static void nfs_proc_read_rpc_prepare(struct rpc_task *task, struct nfs_read_dat  static int nfs_write_done(struct rpc_task *task, struct nfs_write_data *data)  { +	struct inode *inode = data->header->inode; +  	if (nfs_async_handle_expired_key(task))  		return -EAGAIN;  	if (task->tk_status >= 0) -		nfs_post_op_update_inode_force_wcc(data->inode, data->res.fattr); +		nfs_post_op_update_inode_force_wcc(inode, data->res.fattr);  	return 0;  } @@ -687,8 +691,13 @@ static void nfs_proc_write_rpc_prepare(struct rpc_task *task, struct nfs_write_d  	rpc_call_start(task);  } +static void nfs_proc_commit_rpc_prepare(struct rpc_task *task, struct nfs_commit_data *data) +{ +	BUG(); +} +  static void -nfs_proc_commit_setup(struct nfs_write_data *data, struct rpc_message *msg) +nfs_proc_commit_setup(struct nfs_commit_data *data, struct rpc_message *msg)  {  	BUG();  } @@ -732,6 +741,7 @@ const struct nfs_rpc_ops nfs_v2_clientops = {  	.file_inode_ops	= &nfs_file_inode_operations,  	.file_ops	= &nfs_file_operations,  	.getroot	= nfs_proc_get_root, +	.submount	= nfs_submount,  	.getattr	= nfs_proc_getattr,  	.setattr	= nfs_proc_setattr,  	.lookup		= nfs_proc_lookup, @@ -763,6 +773,7 @@ const struct nfs_rpc_ops nfs_v2_clientops = {  	.write_rpc_prepare = nfs_proc_write_rpc_prepare,  	.write_done	= nfs_write_done,  	.commit_setup	= nfs_proc_commit_setup, +	.commit_rpc_prepare = nfs_proc_commit_rpc_prepare,  	.lock		= nfs_proc_lock,  	.lock_check_bounds = nfs_lock_check_bounds,  	.close_context	= nfs_close_context,  |