diff options
| author | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2011-12-17 22:00:49 +0000 |
|---|---|---|
| committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2011-12-17 22:00:49 +0000 |
| commit | a4581b35e1bc80becf240238bc787a5ec2727db0 (patch) | |
| tree | 34cbf36101639403a766e74deb36e7015d871b39 /fs/fuse/dev.c | |
| parent | f940b88d3a57594289455ea99a93a8ddc5c4af06 (diff) | |
| parent | 384703b8e6cd4c8ef08512e596024e028c91c339 (diff) | |
| download | linux-next-a4581b35e1bc80becf240238bc787a5ec2727db0.tar.gz linux-next-a4581b35e1bc80becf240238bc787a5ec2727db0.zip | |
Merge commit 'v3.2-rc6' into fbdev-next
Diffstat (limited to 'fs/fuse/dev.c')
| -rw-r--r-- | fs/fuse/dev.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index 5cb8614508c3..2aaf3eaaf13d 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -1512,7 +1512,7 @@ static int fuse_retrieve(struct fuse_conn *fc, struct inode *inode, else if (outarg->offset + num > file_size) num = file_size - outarg->offset; - while (num) { + while (num && req->num_pages < FUSE_MAX_PAGES_PER_REQ) { struct page *page; unsigned int this_num; @@ -1526,6 +1526,7 @@ static int fuse_retrieve(struct fuse_conn *fc, struct inode *inode, num -= this_num; total_len += this_num; + index++; } req->misc.retrieve_in.offset = outarg->offset; req->misc.retrieve_in.size = total_len; |
