summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPrasad Joshi <[email protected]>2011-05-28 02:53:07 +0100
committerBrian Behlendorf <[email protected]>2011-07-01 12:22:52 -0700
commitdde471ef5a07bd569deeadd3e9a88655db3e10ab (patch)
treea6fc4f05594420aa7b4a1337c7db1da7bae61113 /include
parent2a005961a48e748632e96272915192dab6ce9401 (diff)
MMAP Optimization
Enable zfs_getpage, zfs_fillpage, zfs_putpage, zfs_putapage functions. The functions have been modified to make them Linux friendly. ZFS uses these functions to read/write the mmapped pages. Using them from readpage/writepage results in clear code. The patch also adds readpages and writepages interface functions to read/write list of pages in one function call. The code change handles the first mmap optimization mentioned on https://github.com/behlendorf/zfs/issues/225 Signed-off-by: Prasad Joshi <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Issue #255
Diffstat (limited to 'include')
-rw-r--r--include/sys/zfs_vnops.h3
-rw-r--r--include/sys/zpl.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/include/sys/zfs_vnops.h b/include/sys/zfs_vnops.h
index b1c7c9f53..23218a45b 100644
--- a/include/sys/zfs_vnops.h
+++ b/include/sys/zfs_vnops.h
@@ -71,6 +71,9 @@ extern int zfs_getsecattr(struct inode *ip, vsecattr_t *vsecp, int flag,
cred_t *cr);
extern int zfs_setsecattr(struct inode *ip, vsecattr_t *vsecp, int flag,
cred_t *cr);
+extern int zfs_getpage(struct inode *ip, struct page *pl[], int nr_pages);
+extern int zfs_putpage(struct page *page, struct writeback_control *wbc,
+ void *data);
#ifdef __cplusplus
}
diff --git a/include/sys/zpl.h b/include/sys/zpl.h
index 721347585..906b5a73d 100644
--- a/include/sys/zpl.h
+++ b/include/sys/zpl.h
@@ -29,6 +29,7 @@
#include <linux/vfs_compat.h>
#include <linux/xattr_compat.h>
#include <linux/exportfs.h>
+#include <linux/writeback.h>
/* zpl_inode.c */
extern const struct inode_operations zpl_inode_operations;