- Add stream ids to the protocol. This will allow us to
multiplex multiple entities over the same TCP
connection.
- Add a frame length. This lets us pull entire frames
off the wire without any introspection. This is
helpful on the implementation side because each stream
may have a different cipher and for performance reasons
because we want to pull large chunks from the network
at a time.
- Simplify to a single frame format description, with
only one optional variation (signature or no
signature).
Signed-off-by: Sage Weil <sage@redhat.com>
I don't think this is necessary. Our signature and cipher state
includes prior messages, so as long as we have a confounded
start (a confounder in MSG_AUTH_DONE, in this case) then we are
in good shape.
Signed-off-by: Sage Weil <sage@redhat.com>
Accelio could raise connection teardown event without
a disconnected/closed/refused/error event before it which will
leave the xcon reference in XioMessenger entity map and conn list
which will also cause an assertion from boost.
Signed-off-by: Roi Dayan <roid@mellanox.com>
rados: refuse to cppool if there are snaps; warn about user_version
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
* BUILD_SHARED_LIB is a cmake variable respected by add_library().
so we can simply expose it as an option instead of reinventing our own.
* and mark internal libraries as STATIC explicitly
* and add keyutil to librbd as secret.cc is using it. and secret.cc is
linked into librbd.
Signed-off-by: Kefu Chai <kchai@redhat.com>
* add common_util_obj as OSD::_collect_metadata() is calling collect_sys_info(), which lives
in util.c
* add global_common_objs as OSD::_committed_osd_maps() is calling
queue_async_signal(), which lives in signal_handler.cc
Signed-off-by: Kefu Chai <kchai@redhat.com>
also respect BUILD_SHARED_LIBS instead of always building this lib as a
static library. and we install .so in rpm/deb packaging scripts.
Signed-off-by: Kefu Chai <kchai@redhat.com>
* Findlttng-ust.cmake: detect lttng-gen-tp, and make it a required var
* Findlttng-ust.cmake: fix the detection of lttng
* src/tracing/CMakeLists.txt:
- do not put the generated header files into ${CMAKE_SOURCE_DIR}/src/tracing,
instead we should put the generated files into ${PROJECT_BINARY_DIR}/include.
- do not compile the tracing library using the .c files in the repo,
instead, we should generate them at compile time using lttng-gen-tp,
and compile the genererated .c files.
* CMakeLists.txt: make the lttng-use package REQUIRED if WITH_LTTNG=ON
* src/CMakeLists.txt: let librados depend on librados-tp if LTTNG is
enabled: librados includes tracing/librados.h. the same applies to
librbd, libos and libosd. cmake could deduce the dependencies if we
add the lttng header files under include/tracing into the
corresponding target, as the lttng header files are already listed
as OUTPUT and GENERATED files, but this requires us to put all the
involved targets in the same CMakeLists.txt. in this case, three
CMakeLists.txts are impacted. so we create a new target for each
lttng header, and let the impacted target depend on it.
Signed-off-by: Kefu Chai <kchai@redhat.com>