diff options
author | Weston Andros Adamson <dros@primarydata.com> | 2014-05-15 11:56:46 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-05-29 11:11:45 -0400 |
commit | 67d0338edd71db9a4f406d8778f7c525d31e9f7f (patch) | |
tree | e0fdbb1461b833681f641d3f8263d8499f9d644c /include/linux/nfs_page.h | |
parent | 2bfc6e566daa8386c9cffef2f7de17fc330d3835 (diff) | |
download | lwn-67d0338edd71db9a4f406d8778f7c525d31e9f7f.tar.gz lwn-67d0338edd71db9a4f406d8778f7c525d31e9f7f.zip |
nfs: page group syncing in read path
Operations that modify state for a whole page must be syncronized across
all requests within a page group. In the read path, this is calling
unlock_page and SetPageUptodate. Both of these functions 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>
Diffstat (limited to 'include/linux/nfs_page.h')
-rw-r--r-- | include/linux/nfs_page.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h index 986c0c279d0e..6385175a127b 100644 --- a/include/linux/nfs_page.h +++ b/include/linux/nfs_page.h @@ -29,6 +29,8 @@ enum { PG_INODE_REF, /* extra ref held by inode (head req only) */ PG_HEADLOCK, /* page group lock of wb_head */ PG_TEARDOWN, /* page group sync for destroy */ + PG_UNLOCKPAGE, /* page group sync bit in read path */ + PG_UPTODATE, /* page group sync bit in read path */ }; struct nfs_inode; |