diff options
author | Yan, Zheng <zyan@redhat.com> | 2015-12-23 21:23:38 +0800 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2016-01-21 19:36:07 +0100 |
commit | c8fe9b17d055fe80e1a1591f5900ce41fbf6b796 (patch) | |
tree | 6cece642189c7c68c8b6db89262eccc6167f998d /scripts | |
parent | 458c4703aea04674f0b5f63b43cf5669a602a110 (diff) | |
download | linux-c8fe9b17d055fe80e1a1591f5900ce41fbf6b796.tar.gz linux-c8fe9b17d055fe80e1a1591f5900ce41fbf6b796.tar.bz2 linux-c8fe9b17d055fe80e1a1591f5900ce41fbf6b796.zip |
ceph: Asynchronous IO support
The basic idea of AIO support is simple, just call kiocb::ki_complete()
in OSD request's complete callback. But there are several special cases.
when IO span multiple objects, we need to wait until all OSD requests
are complete, then call kiocb::ki_complete(). Error handling in this case
is tricky too. For simplify, AIO both span multiple objects and extends
i_size are not allowed.
Another special case is check EOF for reading (other client can write to
the file and extend i_size concurrently). For simplify, the direct-IO/AIO
code path does do the check, fallback to normal syn read instead.
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions