diff options
Diffstat (limited to 'fs/nfs/direct.c')
-rw-r--r-- | fs/nfs/direct.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/fs/nfs/direct.c b/fs/nfs/direct.c index f8e165c7d5a6..16844f98f50e 100644 --- a/fs/nfs/direct.c +++ b/fs/nfs/direct.c | |||
@@ -188,17 +188,12 @@ static void nfs_direct_req_release(struct nfs_direct_req *dreq) | |||
188 | static ssize_t nfs_direct_wait(struct nfs_direct_req *dreq) | 188 | static ssize_t nfs_direct_wait(struct nfs_direct_req *dreq) |
189 | { | 189 | { |
190 | ssize_t result = -EIOCBQUEUED; | 190 | ssize_t result = -EIOCBQUEUED; |
191 | struct rpc_clnt *clnt; | ||
192 | sigset_t oldset; | ||
193 | 191 | ||
194 | /* Async requests don't wait here */ | 192 | /* Async requests don't wait here */ |
195 | if (dreq->iocb) | 193 | if (dreq->iocb) |
196 | goto out; | 194 | goto out; |
197 | 195 | ||
198 | clnt = NFS_CLIENT(dreq->inode); | 196 | result = wait_for_completion_killable(&dreq->completion); |
199 | rpc_clnt_sigmask(clnt, &oldset); | ||
200 | result = wait_for_completion_interruptible(&dreq->completion); | ||
201 | rpc_clnt_sigunmask(clnt, &oldset); | ||
202 | 197 | ||
203 | if (!result) | 198 | if (!result) |
204 | result = dreq->error; | 199 | result = dreq->error; |