diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-02-15 21:20:18 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-02-15 21:20:18 +0000 |
commit | 56012808f4d5606e401539f663d92009d964425b (patch) | |
tree | f3736a97725647393a2db7c95462d857115197ca /fs/nfs/pagelist.c | |
parent | a814290e17ae314bd614476cffc6119846eca27e (diff) | |
parent | b2a731aa5cbca7e0252da75e16de7ae5feb1313a (diff) |
Merge branch 'for-rmk' of git://git.marvell.com/orion into devel-stable
Conflicts:
arch/arm/Makefile
Diffstat (limited to 'fs/nfs/pagelist.c')
-rw-r--r-- | fs/nfs/pagelist.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c index e2975939126..a12c45b65dd 100644 --- a/fs/nfs/pagelist.c +++ b/fs/nfs/pagelist.c @@ -176,6 +176,12 @@ void nfs_release_request(struct nfs_page *req) kref_put(&req->wb_kref, nfs_free_request); } +static int nfs_wait_bit_uninterruptible(void *word) +{ + io_schedule(); + return 0; +} + /** * nfs_wait_on_request - Wait for a request to complete. * @req: request to wait upon. @@ -186,14 +192,9 @@ void nfs_release_request(struct nfs_page *req) int nfs_wait_on_request(struct nfs_page *req) { - int ret = 0; - - if (!test_bit(PG_BUSY, &req->wb_flags)) - goto out; - ret = out_of_line_wait_on_bit(&req->wb_flags, PG_BUSY, - nfs_wait_bit_killable, TASK_KILLABLE); -out: - return ret; + return wait_on_bit(&req->wb_flags, PG_BUSY, + nfs_wait_bit_uninterruptible, + TASK_UNINTERRUPTIBLE); } /** |