diff options
| -rw-r--r-- | fs/nfs/pagelist.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c index a1d1de7b97c5..932c6cc27a76 100644 --- a/fs/nfs/pagelist.c +++ b/fs/nfs/pagelist.c | |||
| @@ -823,6 +823,14 @@ static bool nfs_can_coalesce_requests(struct nfs_page *prev, | |||
| 823 | return false; | 823 | return false; |
| 824 | if (req_offset(req) != req_offset(prev) + prev->wb_bytes) | 824 | if (req_offset(req) != req_offset(prev) + prev->wb_bytes) |
| 825 | return false; | 825 | return false; |
| 826 | if (req->wb_page == prev->wb_page) { | ||
| 827 | if (req->wb_pgbase != prev->wb_pgbase + prev->wb_bytes) | ||
| 828 | return false; | ||
| 829 | } else { | ||
| 830 | if (req->wb_pgbase != 0 || | ||
| 831 | prev->wb_pgbase + prev->wb_bytes != PAGE_CACHE_SIZE) | ||
| 832 | return false; | ||
| 833 | } | ||
| 826 | } | 834 | } |
| 827 | size = pgio->pg_ops->pg_test(pgio, prev, req); | 835 | size = pgio->pg_ops->pg_test(pgio, prev, req); |
| 828 | WARN_ON_ONCE(size > req->wb_bytes); | 836 | WARN_ON_ONCE(size > req->wb_bytes); |
