]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: introduce new io_uring IO engine 27392/head
authorRoman Penyaev <rpenyaev@suse.de>
Thu, 21 Mar 2019 17:10:11 +0000 (18:10 +0100)
committerKefu Chai <kchai@redhat.com>
Tue, 10 Dec 2019 09:22:15 +0000 (17:22 +0800)
commit2268be9ff9d2035c942f6a19779e254f317347ba
treecb58aa97b83b51896cdd46d14f70187e641e1721
parentc05c1bd7b9be0051266f48a517c3707b24d0c5e3
os/bluestore: introduce new io_uring IO engine

This implements low-level IO engine, which utilizes brand-new
io_uring IO interface: https://lwn.net/Articles/776428/

By default libaio is used.  If bluestore_ioring=true is set but kernel
does not support io_uring or architecture is not x86-64, libaio will be
used instead.

In current patch liburing library is used in order not to open code
everything.

In order to compile with liburing WITH_LIBURING=ON should be specified.

Signed-off-by: Roman Penyaev <rpenyaev@suse.de>
CMakeLists.txt
src/common/options.cc
src/include/config-h.in.cmake
src/os/CMakeLists.txt
src/os/bluestore/KernelDevice.cc
src/os/bluestore/ceph_io_uring.h [new file with mode: 0644]
src/os/bluestore/io_uring.cc [new file with mode: 0644]