Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Build: create a proper WITH_BLUESTORE option #18357
@wjwithagen I'm not sure that convention is relevant here. I count 44
referenced this pull request
Oct 18, 2017
I don't have BlockDev usage clear, perhaps Alan has. So could very well be beneficial to put that on the ToDo list.
@tchaikov I have indeed enabled Bluestore on FreeBSD. If you're really curious, you can see my branch here: https://github.com/asomers/ceph/tree/bluestore_fbsd . The key thing to remember is that there are basically two different AIO interfaces in the Unix world. POSIX AIO is the standard, implemented by almost all OSes. Libaio is nonstandard and is implemented only on Linux. Linux's implementation of POSIX AIO sucks, so Linux programmers tend to forget that it exists and they go straight to libaio. That's why FreeBSD can implement Bluestore despite not having Libaio.
OTOH, it should also be possible to build Ceph without Bluestore on a system that happens to have libaio installed. That's a second reason for this PR.
P.S. The biggest problem with POSIX AIO is that the standard doesn't specify a high-performance way to get completion notification. The POSIX people considered that to be beyond their remit. Most of the BSDs do it with kqueue(2), but that is nonstandard. I think this deficiency is part of the reason why the Linux folks wrote their own AIO interface.