summaryrefslogtreecommitdiffstats
path: root/fs/nfs/blocklayout
diff options
context:
space:
mode:
authorBenny Halevy <bhalevy@panasas.com>2011-07-31 02:52:40 +0200
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-07-31 18:18:15 +0200
commite9643fe80d1a1e0ad6acdf43138c39b5709fdbbe (patch)
tree294a606cf46942f33e5ffc56fa93ce620690ed55 /fs/nfs/blocklayout
parentpnfsblock: add blocklayout Kconfig option, Makefile, and stubs (diff)
downloadlinux-e9643fe80d1a1e0ad6acdf43138c39b5709fdbbe.tar.xz
linux-e9643fe80d1a1e0ad6acdf43138c39b5709fdbbe.zip
pnfsblock: use pageio_ops api
[pnfsblock: use pnfs_generic_pg_init_read/write] Signed-off-by: Peng Tao <peng_tao@emc.com> Signed-off-by: Benny Halevy <bhalevy@panasas.com> Signed-off-by: Jim Rees <rees@umich.edu> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/blocklayout')
-rw-r--r--fs/nfs/blocklayout/blocklayout.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c
index 44562cbbe394..1f5287c2230a 100644
--- a/fs/nfs/blocklayout/blocklayout.c
+++ b/fs/nfs/blocklayout/blocklayout.c
@@ -135,6 +135,18 @@ bl_clear_layoutdriver(struct nfs_server *server)
return 0;
}
+static const struct nfs_pageio_ops bl_pg_read_ops = {
+ .pg_init = pnfs_generic_pg_init_read,
+ .pg_test = pnfs_generic_pg_test,
+ .pg_doio = pnfs_generic_pg_readpages,
+};
+
+static const struct nfs_pageio_ops bl_pg_write_ops = {
+ .pg_init = pnfs_generic_pg_init_write,
+ .pg_test = pnfs_generic_pg_test,
+ .pg_doio = pnfs_generic_pg_writepages,
+};
+
static struct pnfs_layoutdriver_type blocklayout_type = {
.id = LAYOUT_BLOCK_VOLUME,
.name = "LAYOUT_BLOCK_VOLUME",
@@ -148,6 +160,8 @@ static struct pnfs_layoutdriver_type blocklayout_type = {
.cleanup_layoutcommit = bl_cleanup_layoutcommit,
.set_layoutdriver = bl_set_layoutdriver,
.clear_layoutdriver = bl_clear_layoutdriver,
+ .pg_read_ops = &bl_pg_read_ops,
+ .pg_write_ops = &bl_pg_write_ops,
};
static int __init nfs4blocklayout_init(void)