diff options
| author | Weston Andros Adamson <dros@primarydata.com> | 2014-08-08 11:00:53 -0400 |
|---|---|---|
| committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-08-22 18:04:42 -0400 |
| commit | fd2f3a06d30c85a17cf035ebc60c88c2a13a8ece (patch) | |
| tree | 70df5514d2897bc7fb7fd6698acef33860b7b569 | |
| parent | 451fd72219dd6f3355e2d036c598544c760ee532 (diff) | |
nfs: change nfs_page_group_lock argument
Flip the meaning of the second argument from 'wait' to 'nonblock' to
match related functions. Update all five calls to reflect this change.
Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Reviewed-by: Peng Tao <tao.peng@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
| -rw-r--r-- | fs/nfs/pagelist.c | 11 | ||||
| -rw-r--r-- | fs/nfs/write.c | 4 |
2 files changed, 8 insertions, 7 deletions
diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c index ba491926df5f..7efa61586bc4 100644 --- a/fs/nfs/pagelist.c +++ b/fs/nfs/pagelist.c | |||
| @@ -139,13 +139,14 @@ nfs_iocounter_wait(struct nfs_io_counter *c) | |||
| 139 | /* | 139 | /* |
| 140 | * nfs_page_group_lock - lock the head of the page group | 140 | * nfs_page_group_lock - lock the head of the page group |
| 141 | * @req - request in group that is to be locked | 141 | * @req - request in group that is to be locked |
| 142 | * @nonblock - if true don't block waiting for lock | ||
| 142 | * | 143 | * |
| 143 | * this lock must be held if modifying the page group list | 144 | * this lock must be held if modifying the page group list |
| 144 | * | 145 | * |
| 145 | * returns result from wait_on_bit_lock: 0 on success, < 0 on error | 146 | * returns result from wait_on_bit_lock: 0 on success, < 0 on error |
| 146 | */ | 147 | */ |
| 147 | int | 148 | int |
| 148 | nfs_page_group_lock(struct nfs_page *req, bool wait) | 149 | nfs_page_group_lock(struct nfs_page *req, bool nonblock) |
| 149 | { | 150 | { |
| 150 | struct nfs_page *head = req->wb_head; | 151 | struct nfs_page *head = req->wb_head; |
| 151 | int ret; | 152 | int ret; |
| @@ -155,7 +156,7 @@ nfs_page_group_lock(struct nfs_page *req, bool wait) | |||
| 155 | do { | 156 | do { |
| 156 | ret = wait_on_bit_lock(&head->wb_flags, PG_HEADLOCK, | 157 | ret = wait_on_bit_lock(&head->wb_flags, PG_HEADLOCK, |
| 157 | TASK_UNINTERRUPTIBLE); | 158 | TASK_UNINTERRUPTIBLE); |
| 158 | } while (wait && ret != 0); | 159 | } while (!nonblock && ret != 0); |
| 159 | 160 | ||
| 160 | WARN_ON_ONCE(ret > 0); | 161 | WARN_ON_ONCE(ret > 0); |
| 161 | return ret; | 162 | return ret; |
| @@ -219,7 +220,7 @@ bool nfs_page_group_sync_on_bit(struct nfs_page *req, unsigned int bit) | |||
| 219 | { | 220 | { |
| 220 | bool ret; | 221 | bool ret; |
| 221 | 222 | ||
| 222 | nfs_page_group_lock(req, true); | 223 | nfs_page_group_lock(req, false); |
| 223 | ret = nfs_page_group_sync_on_bit_locked(req, bit); | 224 | ret = nfs_page_group_sync_on_bit_locked(req, bit); |
| 224 | nfs_page_group_unlock(req); | 225 | nfs_page_group_unlock(req); |
| 225 | 226 | ||
| @@ -860,7 +861,7 @@ static int __nfs_pageio_add_request(struct nfs_pageio_descriptor *desc, | |||
| 860 | unsigned int offset, pgbase; | 861 | unsigned int offset, pgbase; |
| 861 | int ret; | 862 | int ret; |
| 862 | 863 | ||
| 863 | ret = nfs_page_group_lock(req, false); | 864 | ret = nfs_page_group_lock(req, true); |
| 864 | if (ret < 0) { | 865 | if (ret < 0) { |
| 865 | desc->pg_error = ret; | 866 | desc->pg_error = ret; |
| 866 | return 0; | 867 | return 0; |
| @@ -886,7 +887,7 @@ static int __nfs_pageio_add_request(struct nfs_pageio_descriptor *desc, | |||
| 886 | if (desc->pg_recoalesce) | 887 | if (desc->pg_recoalesce) |
| 887 | return 0; | 888 | return 0; |
| 888 | /* retry add_request for this subreq */ | 889 | /* retry add_request for this subreq */ |
| 889 | ret = nfs_page_group_lock(req, false); | 890 | ret = nfs_page_group_lock(req, true); |
| 890 | if (ret < 0) { | 891 | if (ret < 0) { |
| 891 | desc->pg_error = ret; | 892 | desc->pg_error = ret; |
| 892 | return 0; | 893 | return 0; |
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index e3b5cf28bdc5..27715306f24b 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c | |||
| @@ -241,7 +241,7 @@ static bool nfs_page_group_covers_page(struct nfs_page *req) | |||
| 241 | unsigned int pos = 0; | 241 | unsigned int pos = 0; |
| 242 | unsigned int len = nfs_page_length(req->wb_page); | 242 | unsigned int len = nfs_page_length(req->wb_page); |
| 243 | 243 | ||
| 244 | nfs_page_group_lock(req, true); | 244 | nfs_page_group_lock(req, false); |
| 245 | 245 | ||
| 246 | do { | 246 | do { |
| 247 | tmp = nfs_page_group_search_locked(req->wb_head, pos); | 247 | tmp = nfs_page_group_search_locked(req->wb_head, pos); |
| @@ -479,7 +479,7 @@ try_again: | |||
| 479 | } | 479 | } |
| 480 | 480 | ||
| 481 | /* lock each request in the page group */ | 481 | /* lock each request in the page group */ |
| 482 | ret = nfs_page_group_lock(head, false); | 482 | ret = nfs_page_group_lock(head, true); |
| 483 | if (ret < 0) | 483 | if (ret < 0) |
| 484 | return ERR_PTR(ret); | 484 | return ERR_PTR(ret); |
| 485 | subreq = head; | 485 | subreq = head; |
