diff options
author | Fred Isaman <iisaman@netapp.com> | 2012-03-08 17:29:34 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-03-10 17:13:58 -0500 |
commit | 9994b62b5621f88828d442fcd03fe3ce4c43344b (patch) | |
tree | b337f13fa873d0931b81f6e9a51ac739e6e074f1 /fs/nfs | |
parent | ad1e3968292e3af1c49ccbd0fb7d2674010f8efc (diff) |
NFS: remove NFS_PAGE_TAG_LOCKED
The last real use of this tag was removed by
commit 7f2f12d963 NFS: Simplify nfs_wb_page()
Signed-off-by: Fred Isaman <iisaman@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r-- | fs/nfs/pagelist.c | 32 | ||||
-rw-r--r-- | fs/nfs/write.c | 20 |
2 files changed, 10 insertions, 42 deletions
diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c index 77a184e2fe4..fc5b54b84f8 100644 --- a/fs/nfs/pagelist.c +++ b/fs/nfs/pagelist.c | |||
@@ -107,36 +107,6 @@ void nfs_unlock_request(struct nfs_page *req) | |||
107 | nfs_release_request(req); | 107 | nfs_release_request(req); |
108 | } | 108 | } |
109 | 109 | ||
110 | /** | ||
111 | * nfs_set_page_tag_locked - Tag a request as locked | ||
112 | * @req: | ||
113 | */ | ||
114 | int nfs_set_page_tag_locked(struct nfs_page *req) | ||
115 | { | ||
116 | if (!nfs_lock_request_dontget(req)) | ||
117 | return 0; | ||
118 | if (test_bit(PG_MAPPED, &req->wb_flags)) | ||
119 | radix_tree_tag_set(&NFS_I(req->wb_context->dentry->d_inode)->nfs_page_tree, req->wb_index, NFS_PAGE_TAG_LOCKED); | ||
120 | return 1; | ||
121 | } | ||
122 | |||
123 | /** | ||
124 | * nfs_clear_page_tag_locked - Clear request tag and wake up sleepers | ||
125 | */ | ||
126 | void nfs_clear_page_tag_locked(struct nfs_page *req) | ||
127 | { | ||
128 | if (test_bit(PG_MAPPED, &req->wb_flags)) { | ||
129 | struct inode *inode = req->wb_context->dentry->d_inode; | ||
130 | struct nfs_inode *nfsi = NFS_I(inode); | ||
131 | |||
132 | spin_lock(&inode->i_lock); | ||
133 | radix_tree_tag_clear(&nfsi->nfs_page_tree, req->wb_index, NFS_PAGE_TAG_LOCKED); | ||
134 | nfs_unlock_request(req); | ||
135 | spin_unlock(&inode->i_lock); | ||
136 | } else | ||
137 | nfs_unlock_request(req); | ||
138 | } | ||
139 | |||
140 | /* | 110 | /* |
141 | * nfs_clear_request - Free up all resources allocated to the request | 111 | * nfs_clear_request - Free up all resources allocated to the request |
142 | * @req: | 112 | * @req: |
@@ -469,7 +439,7 @@ int nfs_scan_list(struct nfs_inode *nfsi, | |||
469 | if (req->wb_index > idx_end) | 439 | if (req->wb_index > idx_end) |
470 | goto out; | 440 | goto out; |
471 | idx_start = req->wb_index + 1; | 441 | idx_start = req->wb_index + 1; |
472 | if (nfs_set_page_tag_locked(req)) { | 442 | if (nfs_lock_request_dontget(req)) { |
473 | kref_get(&req->wb_kref); | 443 | kref_get(&req->wb_kref); |
474 | radix_tree_tag_clear(&nfsi->nfs_page_tree, | 444 | radix_tree_tag_clear(&nfsi->nfs_page_tree, |
475 | req->wb_index, tag); | 445 | req->wb_index, tag); |
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index 0b1831d9584..fd8a4f07bc0 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c | |||
@@ -236,10 +236,10 @@ static struct nfs_page *nfs_find_and_lock_request(struct page *page, bool nonblo | |||
236 | req = nfs_page_find_request_locked(page); | 236 | req = nfs_page_find_request_locked(page); |
237 | if (req == NULL) | 237 | if (req == NULL) |
238 | break; | 238 | break; |
239 | if (nfs_set_page_tag_locked(req)) | 239 | if (nfs_lock_request_dontget(req)) |
240 | break; | 240 | break; |
241 | /* Note: If we hold the page lock, as is the case in nfs_writepage, | 241 | /* Note: If we hold the page lock, as is the case in nfs_writepage, |
242 | * then the call to nfs_set_page_tag_locked() will always | 242 | * then the call to nfs_lock_request_dontget() will always |
243 | * succeed provided that someone hasn't already marked the | 243 | * succeed provided that someone hasn't already marked the |
244 | * request as dirty (in which case we don't care). | 244 | * request as dirty (in which case we don't care). |
245 | */ | 245 | */ |
@@ -397,8 +397,6 @@ static int nfs_inode_add_request(struct inode *inode, struct nfs_page *req) | |||
397 | set_page_private(req->wb_page, (unsigned long)req); | 397 | set_page_private(req->wb_page, (unsigned long)req); |
398 | nfsi->npages++; | 398 | nfsi->npages++; |
399 | kref_get(&req->wb_kref); | 399 | kref_get(&req->wb_kref); |
400 | radix_tree_tag_set(&nfsi->nfs_page_tree, req->wb_index, | ||
401 | NFS_PAGE_TAG_LOCKED); | ||
402 | spin_unlock(&inode->i_lock); | 400 | spin_unlock(&inode->i_lock); |
403 | radix_tree_preload_end(); | 401 | radix_tree_preload_end(); |
404 | out: | 402 | out: |
@@ -604,7 +602,7 @@ static struct nfs_page *nfs_try_to_update_request(struct inode *inode, | |||
604 | || end < req->wb_offset) | 602 | || end < req->wb_offset) |
605 | goto out_flushme; | 603 | goto out_flushme; |
606 | 604 | ||
607 | if (nfs_set_page_tag_locked(req)) | 605 | if (nfs_lock_request_dontget(req)) |
608 | break; | 606 | break; |
609 | 607 | ||
610 | /* The request is locked, so wait and then retry */ | 608 | /* The request is locked, so wait and then retry */ |
@@ -684,7 +682,7 @@ static int nfs_writepage_setup(struct nfs_open_context *ctx, struct page *page, | |||
684 | nfs_grow_file(page, offset, count); | 682 | nfs_grow_file(page, offset, count); |
685 | nfs_mark_uptodate(page, req->wb_pgbase, req->wb_bytes); | 683 | nfs_mark_uptodate(page, req->wb_pgbase, req->wb_bytes); |
686 | nfs_mark_request_dirty(req); | 684 | nfs_mark_request_dirty(req); |
687 | nfs_clear_page_tag_locked(req); | 685 | nfs_unlock_request(req); |
688 | return 0; | 686 | return 0; |
689 | } | 687 | } |
690 | 688 | ||
@@ -777,7 +775,7 @@ static void nfs_writepage_release(struct nfs_page *req, | |||
777 | 775 | ||
778 | if (PageError(req->wb_page) || !nfs_reschedule_unstable_write(req, data)) | 776 | if (PageError(req->wb_page) || !nfs_reschedule_unstable_write(req, data)) |
779 | nfs_inode_remove_request(req); | 777 | nfs_inode_remove_request(req); |
780 | nfs_clear_page_tag_locked(req); | 778 | nfs_unlock_request(req); |
781 | nfs_end_page_writeback(page); | 779 | nfs_end_page_writeback(page); |
782 | } | 780 | } |
783 | 781 | ||
@@ -925,7 +923,7 @@ static void nfs_redirty_request(struct nfs_page *req) | |||
925 | struct page *page = req->wb_page; | 923 | struct page *page = req->wb_page; |
926 | 924 | ||
927 | nfs_mark_request_dirty(req); | 925 | nfs_mark_request_dirty(req); |
928 | nfs_clear_page_tag_locked(req); | 926 | nfs_unlock_request(req); |
929 | nfs_end_page_writeback(page); | 927 | nfs_end_page_writeback(page); |
930 | } | 928 | } |
931 | 929 | ||
@@ -1199,7 +1197,7 @@ static void nfs_writeback_release_full(void *calldata) | |||
1199 | remove_request: | 1197 | remove_request: |
1200 | nfs_inode_remove_request(req); | 1198 | nfs_inode_remove_request(req); |
1201 | next: | 1199 | next: |
1202 | nfs_clear_page_tag_locked(req); | 1200 | nfs_unlock_request(req); |
1203 | nfs_end_page_writeback(page); | 1201 | nfs_end_page_writeback(page); |
1204 | } | 1202 | } |
1205 | nfs_writedata_release(calldata); | 1203 | nfs_writedata_release(calldata); |
@@ -1411,7 +1409,7 @@ void nfs_retry_commit(struct list_head *page_list, | |||
1411 | dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); | 1409 | dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); |
1412 | dec_bdi_stat(req->wb_page->mapping->backing_dev_info, | 1410 | dec_bdi_stat(req->wb_page->mapping->backing_dev_info, |
1413 | BDI_RECLAIMABLE); | 1411 | BDI_RECLAIMABLE); |
1414 | nfs_clear_page_tag_locked(req); | 1412 | nfs_unlock_request(req); |
1415 | } | 1413 | } |
1416 | } | 1414 | } |
1417 | EXPORT_SYMBOL_GPL(nfs_retry_commit); | 1415 | EXPORT_SYMBOL_GPL(nfs_retry_commit); |
@@ -1486,7 +1484,7 @@ void nfs_commit_release_pages(struct nfs_write_data *data) | |||
1486 | dprintk(" mismatch\n"); | 1484 | dprintk(" mismatch\n"); |
1487 | nfs_mark_request_dirty(req); | 1485 | nfs_mark_request_dirty(req); |
1488 | next: | 1486 | next: |
1489 | nfs_clear_page_tag_locked(req); | 1487 | nfs_unlock_request(req); |
1490 | } | 1488 | } |
1491 | } | 1489 | } |
1492 | EXPORT_SYMBOL_GPL(nfs_commit_release_pages); | 1490 | EXPORT_SYMBOL_GPL(nfs_commit_release_pages); |