Cache bypass: adjust read size for non-contiguous readpages

The bypass code's readpages does deal with a non-contiguous list
of pages, but it doesn't adjust the size of the read it requests
from the background daemon accordingly.  As a result we'll ask the
server for pages we were not asked to read.

Change-Id: I5468a4a68f4f415961298144f5bb581faeda540a
Reviewed-on: http://gerrit.openafs.org/3282
Reviewed-by: Matt Benjamin <matt@linuxbox.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
This commit is contained in:
Marc Dionne 2010-11-07 13:35:36 -05:00 committed by Derrick Brashear
parent df682aa341
commit 0b6b2b3cab

View File

@ -1758,6 +1758,7 @@ afs_linux_bypass_readpages(struct file *fp, struct address_space *mapping,
page_cache_release(pp);
iovecp[page_ix].iov_base = (void *) 0;
base_index++;
ancr->length -= PAGE_SIZE;
continue;
}
base_index++;