diff options
Diffstat (limited to 'fs/nfs/nfs3proc.c')
-rw-r--r-- | fs/nfs/nfs3proc.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/fs/nfs/nfs3proc.c b/fs/nfs/nfs3proc.c index b1daca7f0f7b..56dcefc2f3f7 100644 --- a/fs/nfs/nfs3proc.c +++ b/fs/nfs/nfs3proc.c | |||
@@ -811,11 +811,13 @@ nfs3_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle, | |||
811 | 811 | ||
812 | static int nfs3_read_done(struct rpc_task *task, struct nfs_read_data *data) | 812 | static int nfs3_read_done(struct rpc_task *task, struct nfs_read_data *data) |
813 | { | 813 | { |
814 | if (nfs3_async_handle_jukebox(task, data->inode)) | 814 | struct inode *inode = data->header->inode; |
815 | |||
816 | if (nfs3_async_handle_jukebox(task, inode)) | ||
815 | return -EAGAIN; | 817 | return -EAGAIN; |
816 | 818 | ||
817 | nfs_invalidate_atime(data->inode); | 819 | nfs_invalidate_atime(inode); |
818 | nfs_refresh_inode(data->inode, &data->fattr); | 820 | nfs_refresh_inode(inode, &data->fattr); |
819 | return 0; | 821 | return 0; |
820 | } | 822 | } |
821 | 823 | ||
@@ -831,10 +833,12 @@ static void nfs3_proc_read_rpc_prepare(struct rpc_task *task, struct nfs_read_da | |||
831 | 833 | ||
832 | static int nfs3_write_done(struct rpc_task *task, struct nfs_write_data *data) | 834 | static int nfs3_write_done(struct rpc_task *task, struct nfs_write_data *data) |
833 | { | 835 | { |
834 | if (nfs3_async_handle_jukebox(task, data->inode)) | 836 | struct inode *inode = data->header->inode; |
837 | |||
838 | if (nfs3_async_handle_jukebox(task, inode)) | ||
835 | return -EAGAIN; | 839 | return -EAGAIN; |
836 | if (task->tk_status >= 0) | 840 | if (task->tk_status >= 0) |
837 | nfs_post_op_update_inode_force_wcc(data->inode, data->res.fattr); | 841 | nfs_post_op_update_inode_force_wcc(inode, data->res.fattr); |
838 | return 0; | 842 | return 0; |
839 | } | 843 | } |
840 | 844 | ||