diff options
author | Li Wang <liwang@ubuntukylin.com> | 2013-12-19 09:03:48 -0500 |
---|---|---|
committer | Ilya Dryomov <ilya.dryomov@inktank.com> | 2013-12-31 13:32:02 -0500 |
commit | 3f42bc4beadef554fd0d4e6408e9142da268613b (patch) | |
tree | f6a565c4d76a2f0cef40c6712410161cd8b07a5e /fs/ceph | |
parent | 7221fe4c2ed72804b28633c8e0217d65abb0023f (diff) |
ceph fscache: Introduce a routine for uncaching single no data page from fscache
Signed-off-by: Li Wang <liwang@ubuntukylin.com>
Reviewed-by: Milosz Tanski <milosz@adfin.com>
Diffstat (limited to 'fs/ceph')
-rw-r--r-- | fs/ceph/cache.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/fs/ceph/cache.h b/fs/ceph/cache.h index ba949408a336..da95f61b7a09 100644 --- a/fs/ceph/cache.h +++ b/fs/ceph/cache.h | |||
@@ -67,6 +67,14 @@ static inline int ceph_release_fscache_page(struct page *page, gfp_t gfp) | |||
67 | return fscache_maybe_release_page(ci->fscache, page, gfp); | 67 | return fscache_maybe_release_page(ci->fscache, page, gfp); |
68 | } | 68 | } |
69 | 69 | ||
70 | static inline void ceph_fscache_readpage_cancel(struct inode *inode, | ||
71 | struct page *page) | ||
72 | { | ||
73 | struct ceph_inode_info *ci = ceph_inode(inode); | ||
74 | if (fscache_cookie_valid(ci->fscache) && PageFsCache(page)) | ||
75 | __fscache_uncache_page(ci->fscache, page); | ||
76 | } | ||
77 | |||
70 | static inline void ceph_fscache_readpages_cancel(struct inode *inode, | 78 | static inline void ceph_fscache_readpages_cancel(struct inode *inode, |
71 | struct list_head *pages) | 79 | struct list_head *pages) |
72 | { | 80 | { |
@@ -145,6 +153,11 @@ static inline int ceph_release_fscache_page(struct page *page, gfp_t gfp) | |||
145 | return 1; | 153 | return 1; |
146 | } | 154 | } |
147 | 155 | ||
156 | static inline void ceph_fscache_readpage_cancel(struct inode *inode, | ||
157 | struct page *page) | ||
158 | { | ||
159 | } | ||
160 | |||
148 | static inline void ceph_fscache_readpages_cancel(struct inode *inode, | 161 | static inline void ceph_fscache_readpages_cancel(struct inode *inode, |
149 | struct list_head *pages) | 162 | struct list_head *pages) |
150 | { | 163 | { |