diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2006-01-20 15:15:21 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2006-01-20 15:15:21 +0000 |
commit | 065f222cd58501acbe6dde5520c1c2498e8d3c08 (patch) | |
tree | 6fee89465e3fc21e91591e53ea1c0678ef965367 /kernel/file.c | |
parent | e089b718969bc0aaecf180c675b9c2b6d1b8ba9c (diff) | |
download | libfuse-065f222cd58501acbe6dde5520c1c2498e8d3c08.tar.gz |
fix
Diffstat (limited to 'kernel/file.c')
-rw-r--r-- | kernel/file.c | 9 |
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 { |