diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-01-22 17:13:07 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-01-30 02:05:24 -0500 |
commit | acee478afc6ff7e1b8852d9a4dca1ff36021414d (patch) | |
tree | 94aa75336122b4914af0cfa91eaf1329b2c519d3 /include/linux/nfs_page.h | |
parent | 8b1f9ee56e21e505a3d5d3e33f823006d1abdbaf (diff) |
NFS: Clean up the write request locking.
Ensure that we set/clear NFS_PAGE_TAG_LOCKED when the nfs_page is hashed.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/nfs_page.h')
-rw-r--r-- | include/linux/nfs_page.h | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h index 30dbcc185e69..a1676e19e491 100644 --- a/include/linux/nfs_page.h +++ b/include/linux/nfs_page.h | |||
@@ -83,6 +83,7 @@ extern void nfs_pageio_complete(struct nfs_pageio_descriptor *desc); | |||
83 | extern void nfs_pageio_cond_complete(struct nfs_pageio_descriptor *, pgoff_t); | 83 | extern void nfs_pageio_cond_complete(struct nfs_pageio_descriptor *, pgoff_t); |
84 | extern int nfs_wait_on_request(struct nfs_page *); | 84 | extern int nfs_wait_on_request(struct nfs_page *); |
85 | extern void nfs_unlock_request(struct nfs_page *req); | 85 | extern void nfs_unlock_request(struct nfs_page *req); |
86 | extern int nfs_set_page_tag_locked(struct nfs_page *req); | ||
86 | extern void nfs_clear_page_tag_locked(struct nfs_page *req); | 87 | extern void nfs_clear_page_tag_locked(struct nfs_page *req); |
87 | 88 | ||
88 | 89 | ||
@@ -95,18 +96,6 @@ nfs_lock_request_dontget(struct nfs_page *req) | |||
95 | return !test_and_set_bit(PG_BUSY, &req->wb_flags); | 96 | return !test_and_set_bit(PG_BUSY, &req->wb_flags); |
96 | } | 97 | } |
97 | 98 | ||
98 | /* | ||
99 | * Lock the page of an asynchronous request and take a reference | ||
100 | */ | ||
101 | static inline int | ||
102 | nfs_lock_request(struct nfs_page *req) | ||
103 | { | ||
104 | if (test_and_set_bit(PG_BUSY, &req->wb_flags)) | ||
105 | return 0; | ||
106 | kref_get(&req->wb_kref); | ||
107 | return 1; | ||
108 | } | ||
109 | |||
110 | /** | 99 | /** |
111 | * nfs_list_add_request - Insert a request into a list | 100 | * nfs_list_add_request - Insert a request into a list |
112 | * @req: request | 101 | * @req: request |