[PATCH 5/7] Cifs: Introduce routine for uncaching single no-data page

From: Li Wang
Date: Mon Nov 11 2013 - 10:41:47 EST


Introduce a routine for uncaching single no-data page, typically
in readpage().

Signed-off-by: Li Wang <liwang@xxxxxxxxxxxxxxx>
---
fs/cifs/fscache.h | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/fs/cifs/fscache.h b/fs/cifs/fscache.h
index 24794b6..c712f42 100644
--- a/fs/cifs/fscache.h
+++ b/fs/cifs/fscache.h
@@ -54,6 +54,7 @@ extern int __cifs_readpages_from_fscache(struct inode *,
struct address_space *,
struct list_head *,
unsigned *);
+extern void __cifs_fscache_readpage_cancel(struct inode *, struct page *);
extern void __cifs_fscache_readpages_cancel(struct inode *, struct list_head *);

extern void __cifs_readpage_to_fscache(struct inode *, struct page *);
@@ -92,6 +93,13 @@ static inline void cifs_readpage_to_fscache(struct inode *inode,
__cifs_readpage_to_fscache(inode, page);
}

+static inline void cifs_fscache_readpage_cancel(struct inode *inode,
+ struct page *page)
+{
+ if (CIFS_I(inode)->fscache)
+ return __cifs_fscache_readpage_cancel(inode, page);
+}
+
static inline void cifs_fscache_readpages_cancel(struct inode *inode,
struct list_head *pages)
{
@@ -139,6 +147,11 @@ static inline int cifs_readpages_from_fscache(struct inode *inode,
static inline void cifs_readpage_to_fscache(struct inode *inode,
struct page *page) {}

+static inline void cifs_fscache_readpage_cancel(struct inode *inode,
+ struct page *page)
+{
+}
+
static inline void cifs_fscache_readpages_cancel(struct inode *inode,
struct list_head *pages)
{
--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/