|
@@ -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)
|