fuse: make fuse_direct_io() aware about AIO
The patch implements passing "struct fuse_io_priv *io" down the stack up to fuse_send_read/write where it is used to submit request asynchronously. io->async==0 designates synchronous processing. Non-trivial part of the patch is changes in fuse_direct_io(): resources like fuse requests and user pages cannot be released immediately in async case. Signed-off-by: Maxim Patlasov <mpatlasov@parallels.com> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
This commit is contained in:
parent
01e9d11a3e
commit
36cf66ed9f
4 changed files with 58 additions and 21 deletions
|
@ -111,7 +111,7 @@ static void restore_sigs(sigset_t *oldset)
|
|||
sigprocmask(SIG_SETMASK, oldset, NULL);
|
||||
}
|
||||
|
||||
static void __fuse_get_request(struct fuse_req *req)
|
||||
void __fuse_get_request(struct fuse_req *req)
|
||||
{
|
||||
atomic_inc(&req->count);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue