@@ -988,10 +988,10 @@ bl_write_begin(struct pnfs_layout_segment *lseg, struct page *page, loff_t pos,
if (bl->bl_blocksize < (PAGE_CACHE_SIZE >> 9)) {
dprintk("%s Can't handle blocksize %llu\n", __func__,
(u64)bl->bl_blocksize);
- fsdata->ok_to_use_pnfs = 0;
+ put_lseg(fsdata->lseg);
+ fsdata->lseg = NULL;
return 0;
}
- fsdata->ok_to_use_pnfs = 1;
if (PageMappedToDisk(page)) {
/* Basically, this is a flag that says we have
* successfully called write_begin already on this page.
@@ -1014,7 +1014,8 @@ bl_write_begin(struct pnfs_layout_segment *lseg, struct page *page, loff_t pos,
* should be true if we get here.
*/
BUG_ON(PagePrivate(page));
- fsdata->ok_to_use_pnfs = 0;
+ put_lseg(fsdata->lseg);
+ fsdata->lseg = NULL;
kfree(pages_to_mark);
ret = 0;
} else {
@@ -1122,19 +1123,6 @@ bl_pg_test(struct nfs_pageio_descriptor *pgio, struct nfs_page *prev,
}
}
-/* This checks if old req will likely use same io method as soon
- * to be created request, and returns False if they are the same.
- */
-static int
-bl_do_flush(struct pnfs_layout_segment *lseg, struct nfs_page *req,
- struct pnfs_fsdata *fsdata)
-{
- int will_try_pnfs;
- dprintk("%s enter\n", __func__);
- will_try_pnfs = fsdata ? (fsdata->ok_to_use_pnfs) : (lseg != NULL);
- return will_try_pnfs != test_bit(PG_USE_PNFS, &req->wb_flags);
-}
-
static struct layoutdriver_io_operations blocklayout_io_operations = {
.commit = bl_commit,
.read_pagelist = bl_read_pagelist,
@@ -1156,7 +1144,6 @@ static struct layoutdriver_io_operations blocklayout_io_operations = {
static struct layoutdriver_policy_operations blocklayout_policy_operations = {
.get_stripesize = bl_get_stripesize,
.pg_test = bl_pg_test,
- .do_flush = bl_do_flush,
};
static struct pnfs_layoutdriver_type blocklayout_type = {