aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/file.c
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2006-01-20 15:15:21 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2006-01-20 15:15:21 +0000
commit065f222cd58501acbe6dde5520c1c2498e8d3c08 (patch)
tree6fee89465e3fc21e91591e53ea1c0678ef965367 /kernel/file.c
parente089b718969bc0aaecf180c675b9c2b6d1b8ba9c (diff)
downloadlibfuse-065f222cd58501acbe6dde5520c1c2498e8d3c08.tar.gz
fix
Diffstat (limited to 'kernel/file.c')
-rw-r--r--kernel/file.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/file.c b/kernel/file.c
index e8dae79..be9cc39 100644
--- a/kernel/file.c
+++ b/kernel/file.c
@@ -350,9 +350,14 @@ static void fuse_send_readpages(struct fuse_req *req, struct file *file,
loff_t pos = page_offset(req->pages[0]);
size_t count = req->num_pages << PAGE_CACHE_SHIFT;
req->out.page_zeroing = 1;
- req->end = fuse_readpages_end;
fuse_read_fill(req, file, inode, pos, count, FUSE_READ);
- request_send_background(fc, req);
+ if (fc->async_read) {
+ req->end = fuse_readpages_end;
+ request_send_background(fc, req);
+ } else {
+ request_send(fc, req);
+ fuse_readpages_end(fc, req);
+ }
}
struct fuse_readpages_data {