diff options
Diffstat (limited to 'fs/nfs/read.c')
| -rw-r--r-- | fs/nfs/read.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/read.c b/fs/nfs/read.c index 79859c81a943..e4b62c6f5a6e 100644 --- a/fs/nfs/read.c +++ b/fs/nfs/read.c | |||
| @@ -25,6 +25,7 @@ | |||
| 25 | #include "internal.h" | 25 | #include "internal.h" |
| 26 | #include "iostat.h" | 26 | #include "iostat.h" |
| 27 | #include "fscache.h" | 27 | #include "fscache.h" |
| 28 | #include "pnfs.h" | ||
| 28 | 29 | ||
| 29 | #define NFSDBG_FACILITY NFSDBG_PAGECACHE | 30 | #define NFSDBG_FACILITY NFSDBG_PAGECACHE |
| 30 | 31 | ||
| @@ -120,6 +121,7 @@ int nfs_readpage_async(struct nfs_open_context *ctx, struct inode *inode, | |||
| 120 | len = nfs_page_length(page); | 121 | len = nfs_page_length(page); |
| 121 | if (len == 0) | 122 | if (len == 0) |
| 122 | return nfs_return_empty_page(page); | 123 | return nfs_return_empty_page(page); |
| 124 | pnfs_update_layout(inode, ctx, IOMODE_READ); | ||
| 123 | new = nfs_create_request(ctx, inode, page, 0, len); | 125 | new = nfs_create_request(ctx, inode, page, 0, len); |
| 124 | if (IS_ERR(new)) { | 126 | if (IS_ERR(new)) { |
| 125 | unlock_page(page); | 127 | unlock_page(page); |
| @@ -624,6 +626,7 @@ int nfs_readpages(struct file *filp, struct address_space *mapping, | |||
| 624 | if (ret == 0) | 626 | if (ret == 0) |
| 625 | goto read_complete; /* all pages were read */ | 627 | goto read_complete; /* all pages were read */ |
| 626 | 628 | ||
| 629 | pnfs_update_layout(inode, desc.ctx, IOMODE_READ); | ||
| 627 | if (rsize < PAGE_CACHE_SIZE) | 630 | if (rsize < PAGE_CACHE_SIZE) |
| 628 | nfs_pageio_init(&pgio, inode, nfs_pagein_multi, rsize, 0); | 631 | nfs_pageio_init(&pgio, inode, nfs_pagein_multi, rsize, 0); |
| 629 | else | 632 | else |
