summaryrefslogtreecommitdiff
path: root/fs/fuse/dev.c
diff options
context:
space:
mode:
authorFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2011-12-17 22:00:49 +0000
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2011-12-17 22:00:49 +0000
commita4581b35e1bc80becf240238bc787a5ec2727db0 (patch)
tree34cbf36101639403a766e74deb36e7015d871b39 /fs/fuse/dev.c
parentf940b88d3a57594289455ea99a93a8ddc5c4af06 (diff)
parent384703b8e6cd4c8ef08512e596024e028c91c339 (diff)
downloadlinux-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.c3
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;