nfs: page group syncing in write path
Operations that modify state for a whole page must be syncronized across all requests within a page group. In the write path, this is calling end_page_writeback and removing the head request from an inode. Both of these operations should not be called until all requests in a page group have reached the point where they would call them. This patch should have no effect yet since all page groups currently have one request, but will come into play when pg_test functions are modified to split pages into sub-page regions. Signed-off-by: Weston Andros Adamson <dros@primarydata.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:

committed by
Trond Myklebust

parent
67d0338edd
commit
20633f042f
@@ -397,6 +397,8 @@ static void nfs_free_request(struct nfs_page *req)
|
||||
WARN_ON_ONCE(test_bit(PG_TEARDOWN, &req->wb_flags));
|
||||
WARN_ON_ONCE(test_bit(PG_UNLOCKPAGE, &req->wb_flags));
|
||||
WARN_ON_ONCE(test_bit(PG_UPTODATE, &req->wb_flags));
|
||||
WARN_ON_ONCE(test_bit(PG_WB_END, &req->wb_flags));
|
||||
WARN_ON_ONCE(test_bit(PG_REMOVE, &req->wb_flags));
|
||||
|
||||
/* Release struct file and open context */
|
||||
nfs_clear_request(req);
|
||||
|
Reference in New Issue
Block a user