Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 61575
b: refs/heads/master
c: d898391
h: refs/heads/master
i:
  61573: 4fe3c38
  61571: bfd096c
  61567: 56fcb65
v: v3
  • Loading branch information
Fengguang Wu authored and Linus Torvalds committed Jul 19, 2007
1 parent 6a38449 commit 2ce948b
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 431a4820bfcdf7ff530e745230bafb06c9bf2d6d
refs/heads/master: d8983910a4045fa21022cfccf76ed13eb40fd7f5
12 changes: 5 additions & 7 deletions trunk/fs/splice.c
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
unsigned int flags)
{
struct address_space *mapping = in->f_mapping;
unsigned int loff, nr_pages;
unsigned int loff, nr_pages, req_pages;
struct page *pages[PIPE_BUFFERS];
struct partial_page partial[PIPE_BUFFERS];
struct page *page;
Expand All @@ -281,10 +281,8 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,

index = *ppos >> PAGE_CACHE_SHIFT;
loff = *ppos & ~PAGE_CACHE_MASK;
nr_pages = (len + loff + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;

if (nr_pages > PIPE_BUFFERS)
nr_pages = PIPE_BUFFERS;
req_pages = (len + loff + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
nr_pages = min(req_pages, (unsigned)PIPE_BUFFERS);

/*
* Lookup the (hopefully) full range of pages we need.
Expand All @@ -298,7 +296,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
*/
if (spd.nr_pages < nr_pages)
page_cache_readahead_ondemand(mapping, &in->f_ra, in,
NULL, index, nr_pages - spd.nr_pages);
NULL, index, req_pages - spd.nr_pages);

error = 0;
while (spd.nr_pages < nr_pages) {
Expand Down Expand Up @@ -355,7 +353,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,

if (PageReadahead(page))
page_cache_readahead_ondemand(mapping, &in->f_ra, in,
page, index, nr_pages - page_nr);
page, index, req_pages - page_nr);

/*
* If the page isn't uptodate, we may need to start io on it
Expand Down

0 comments on commit 2ce948b

Please sign in to comment.