diff options
author | Brian Foster <bfoster@redhat.com> | 2013-05-30 23:35:50 +0400 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2013-06-03 17:15:42 +0400 |
commit | c9ecf989cc7626e9edf8abef79f64b909542129b (patch) | |
tree | 4d86f444e40c8dfd0157e7b7062290735b1578de /fs/generic_acl.c | |
parent | 28420dad233520811c0e0860e7fb4975ed863fc4 (diff) | |
download | linux-c9ecf989cc7626e9edf8abef79f64b909542129b.tar.xz |
fuse: return -EIOCBQUEUED from fuse_direct_IO() for all async requests
If request submission fails for an async request (i.e.,
get_user_pages() returns -ERESTARTSYS), we currently skip the
-EIOCBQUEUED return and drop into wait_for_sync_kiocb() forever.
Avoid this by always returning -EIOCBQUEUED for async requests. If
an error occurs, the error is passed into fuse_aio_complete(),
returned via aio_complete() and thus propagated to userspace via
io_getevents().
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Maxim Patlasov <MPatlasov@parallels.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'fs/generic_acl.c')
0 files changed, 0 insertions, 0 deletions