summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorYan, Zheng <zyan@redhat.com>2015-12-23 21:23:38 +0800
committerIlya Dryomov <idryomov@gmail.com>2016-01-21 19:36:07 +0100
commitc8fe9b17d055fe80e1a1591f5900ce41fbf6b796 (patch)
tree6cece642189c7c68c8b6db89262eccc6167f998d /scripts
parent458c4703aea04674f0b5f63b43cf5669a602a110 (diff)
downloadlinux-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