rados_aio_create_completion2() is almost identical to
rados_aio_create_completion(). the only difference is that the former
does not accept the `safe` callback. as it's an alias of `complete`
callback since af01db76f6
Signed-off-by: Kefu Chai <kchai@redhat.com>
This patch adds per-io bluestore specific tracepoints detailing the
throttle state at queue time as well as state latencies during
execution. Additionally, bluestore_throttle_trace_rate will limit
the rate at which ios have tracepoints emitted.
Signed-off-by: Samuel Just <sjust@redhat.com>
Because EVENTTRACE now implies LTTNG, also cleanup EVENTTRACE
conditions to assume LTTNG.
Also add missing eventtrace dependencies to rbd and
test/objectstore.
Signed-off-by: Samuel Just <sjust@redhat.com>
Post-mortem analysis:
librados.so and librados_tp.so are packaged together in the librados2
RPM.
c680fb10f5 bumped
the librados.so and librados_tp.so versions from 2 to 3.
Later, 7bf6b5ee12 reverted the librados.so
version from 3 to 2, but left the librados_tp.so version at 3.
Fixes: http://tracker.ceph.com/issues/39291
Signed-off-by: Nathan Cutler <ncutler@suse.com>
we have switched from tmap to omap long ago.
but keep the server side implementation around, in case ancient
client is still using these tmap APIs.
also, tmap_update() is kept, because librbd is using it for v1 image
backward compatibility.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Add access and modify timestamps and associated tests
to RBD images.
Access (resp. modify) timestamps are updated on
read (resp. write) operations. A configurable throttling
mechanism is implemented (default to 60s).
Signed-off-by: Julien Collet <julien.collet@cern.ch>
client is still sending write,startsync which is deprecated long back. Hence cleaning up OP_STARTSYNC
Fixes: http://tracker.ceph.com/issues/20604
Signed-off-by: Amit Kumar <amitkuma@redhat.com>
The compare-extent (cmpext) operation allows callers to compare existing
object contents with an arbitrary buffer. cmpext requests can be
compounded with read and write operations, allowing for atomic object
content updates. return 0 on success, negative error code
on failure, (-MAX_ERRNO - mismatch_off) on mismatch
This commit is based on Mike Christie's initial C++ API, with the
addition of AIO support and a C API. Response marshalling was also
reworked, so that the miscompare offset is unmarshalled transparently to
the caller.
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
Signed-off-by: David Disseldorp <ddiss@suse.de>
This adds support for a new op cmpext. The request will read
extent.length bytes and compare them to extent.length bytes at
extent.offset on disk. return 0 on success, negative error code
on failure, (-MAX_ERRNO - mismatch_off) on mismatch
rbd will use this in a multi op request to implement the
SCSI COMPARE_AND_WRITE request which is used by VMware for
its atomic test and set request.
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
Signed-off-by: Mike Christie <mchristi@redhat.com>
[ddiss@suse.de: ReplicatedPG -> PrimaryLogPG]
Reviewed-by: David Disseldorp <ddiss@suse.de>
Avoid a segfault in TracepointProvider::verify_config() when building
for the 'vstart' target. TracepointProvider tries to load the tracepoint
providers libraries at runtime, but these aren't built as part of the
'vstart' target.
Signed-off-by: Mohamad Gebai <mgebai@suse.com>
Based on pr: https://github.com/ceph/ceph/pull/10019.
This drops the original writesame2 api.
Signed-off-by: Gui Hecheng <guihecheng@cmss.chinamobile.com>
Signed-off-by: Mingxin Liu <mingxin@xsky.com>
The problem was due to the attempt of CMake to rewrite the RPATH of
the executables, or shared libraries, that didn't have any RPATH linked
during the building phase.
Currently INSTALL_RPATH is already set for all binaries. This patch
sets an empty INSTALL_RPATH for all binaries that don't depend on
any internal (also being built) target.
Signed-off-by: Ricardo Dias <rdias@suse.com>