diff options
author | Christoph Hellwig <hch@lst.de> | 2014-11-24 16:47:02 -0500 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-11-24 17:00:41 -0500 |
commit | 6a74c0c9402b85647793da70edc9d6b097d54472 (patch) | |
tree | b44a19cb5bbf9f899d28f086ebb7c2604a017a2b /fs/nfs | |
parent | 1a867a0898b2e366a1eb5b7fe21413a2b2b1629f (diff) |
pnfs/blocklayout: fix end calculation in pnfs_num_cont_bytes
Use the number of pages in the pagecache mapping instead of the
number of pnfs requests which is only slightly related.
Reported-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r-- | fs/nfs/blocklayout/blocklayout.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c index 4f46f7a05289..77fec6a55f57 100644 --- a/fs/nfs/blocklayout/blocklayout.c +++ b/fs/nfs/blocklayout/blocklayout.c | |||
@@ -812,7 +812,7 @@ static u64 pnfs_num_cont_bytes(struct inode *inode, pgoff_t idx) | |||
812 | 812 | ||
813 | /* Optimize common case that writes from 0 to end of file */ | 813 | /* Optimize common case that writes from 0 to end of file */ |
814 | end = DIV_ROUND_UP(i_size_read(inode), PAGE_CACHE_SIZE); | 814 | end = DIV_ROUND_UP(i_size_read(inode), PAGE_CACHE_SIZE); |
815 | if (end != NFS_I(inode)->npages) { | 815 | if (end != inode->i_mapping->nrpages) { |
816 | rcu_read_lock(); | 816 | rcu_read_lock(); |
817 | end = page_cache_next_hole(mapping, idx + 1, ULONG_MAX); | 817 | end = page_cache_next_hole(mapping, idx + 1, ULONG_MAX); |
818 | rcu_read_unlock(); | 818 | rcu_read_unlock(); |