Hi kefu,
Even we use seastar::thread, I think we still need #ifdef macro to build these code
together, am I right? The same binary still contain both blocking code and unblocking
code.
Let's discuss it in the meeting.
-Chunmei
-----Original Message-----
From: kefu chai [mailto:tchaikov@gmail.com]
Sent: Monday, July 22, 2019 7:37 AM
To: Liu, Chunmei <chunmei.liu(a)intel.com>om>; dev(a)ceph.io
Subject: [crimson] bluestore in an alien world
hi Chunmei,
i am reviewing your change of
https://github.com/ceph/ceph/compare/master...liu-
chunmei:ceph_seastar_alien_store.
it looks good in general. i think the simplest way to co-locate different versions
of alien-common, ceph-common and crimson-common is to introduce different
namespaces. because we need to have alien-common and crimson-common in
the same binary, and to have all of these three versions in the same repository.
but this divergence concerns me, as it introduces yet another condition in the
shared infrastructure in our code base. and in the long run, this #ifdef won't go
away if we want to go this way, so i need to at least give it a try. what is
"it"? to
port rocksdb to seastar. as seastar offers "seastar::thread" which makes it
relative simpler to wrap the blocking calls with ucontext. and rocksdb offers a
abstraction machinery allowing one to port it to a new platform. and seastar is a
"platform" to some degree, i'd say.
will update you guys with my progress and findings.
--
Regards
Kefu Chai