diff options
author | Maxim Patlasov <mpatlasov@parallels.com> | 2012-10-26 11:49:33 -0400 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2013-01-24 10:21:27 -0500 |
commit | 85f40aec887110ae6bbefa87988def4606a3d583 (patch) | |
tree | 1408110166343717d8b2710f337882309451b7af /fs/fuse/cuse.c | |
parent | b2430d7567a376b3685627ca7e9d712f6f27d49b (diff) |
fuse: use req->page_descs[] for argpages cases
Previously, anyone who set flag 'argpages' only filled req->pages[] and set
per-request page_offset. This patch re-works all cases where argpages=1 to
fill req->page_descs[] properly.
Having req->page_descs[] filled properly allows to re-work fuse_copy_pages()
to copy page fragments described by req->page_descs[]. This will be useful
for next patches optimizing direct_IO.
Signed-off-by: Maxim Patlasov <mpatlasov@parallels.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'fs/fuse/cuse.c')
-rw-r--r-- | fs/fuse/cuse.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/fuse/cuse.c b/fs/fuse/cuse.c index 5cc838f320d4..fb9dcfdf040b 100644 --- a/fs/fuse/cuse.c +++ b/fs/fuse/cuse.c | |||
@@ -449,6 +449,7 @@ static int cuse_send_init(struct cuse_conn *cc) | |||
449 | req->out.argvar = 1; | 449 | req->out.argvar = 1; |
450 | req->out.argpages = 1; | 450 | req->out.argpages = 1; |
451 | req->pages[0] = page; | 451 | req->pages[0] = page; |
452 | req->page_descs[0].length = req->out.args[1].size; | ||
452 | req->num_pages = 1; | 453 | req->num_pages = 1; |
453 | req->end = cuse_process_init_reply; | 454 | req->end = cuse_process_init_reply; |
454 | fuse_request_send_background(fc, req); | 455 | fuse_request_send_background(fc, req); |