os/bluestore: fix bitmap allocating failure if max_alloc_size is 0
Mark's Comments:
This passed Jenkins checks.
This passed "ceph_test_objectstore --gtest_filter=*/2".
This PR did not appear to have a significant impact on performance tests.
Reviewed-by: Mark Nelson <mnelson@redhat.com>
os/bluestore: replace interval_set with a bitset for used_block conta…
Mark's Comments:
This passed Jenkins checks.
This passed "ceph_test_objectstore --gtest_filter=*/2".
This PR did not appear to have a significant impact on performance tests, however no fsck specific performance or memory tests were performed.
Reviewed-by: Mark Nelson <mnelson@redhat.com>
When testing < v10.2.1 with standby replay, I was often confused why the
MDS daemons would go into replay even when this was false.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
os/bluestore: get rid off blob's ref_map for non-shared objects
Mark's Comments:
This passed Jenkins checks.
This PR did not appear to have a significant impact on performance tests.
This initially failed "ceph_test_objectstore --gtest_filter=*/2" segfaulting in one of the tests. See the attached log in the comments for the PR for details. Subsequent reruns passed, and a run through valgrind's memcheck also passed. Igor indicated that he has seen this particular segfault previously and believes it is related to running out of memory. Given that the PR has passed the object store tests multiple times and the segfault has been observed in the past, I believe this PR is unrelated.
Reviewed-by: Mark Nelson <mnelson@redhat.com>
allows the default zone and zonegroup (created with empty realm_id) to
be later added to a realm. the 'modify' command now accepts either
--realm_id=id or --rgw-realm=name
Fixes: http://tracker.ceph.com/issues/16839
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Since FSMap was added, the state of a daemon can lead
to an entirely invalid map, but we were letting daemons
send any state they wanted.
Especially, we must not allow standby daemons to set
any state other than STANDBY.
Fixes: http://tracker.ceph.com/issues/16592
Signed-off-by: John Spray <john.spray@redhat.com>
we should avoid exposing non-public symbols from user facing dynamic
libraries. so pass '--exclude-libs' with appropriate argument to linker.
as libcephfs does not add the ((visibility ("default"))) specifier to
the exported symbols, we can not set the default visiblity to hidden for
libcephfs, and "-export-symbols-regex" is a libtool option, we need to
develop a way for cmake to fix the visibility of libcephfs. it's still a
TODO.
* librados
- pass '--exclude-libs=ALL' to linker
- add buffer.cc to librados, so we can use '--exclude-libs=ALL'.
* libcephfs: pass '--exclude-libs=libcommon.a,libclient.a,libosdc.a' to
linker
* libcommon
- extract common_buffer_obj from libcommon, to avoid compilation
this source file repeatly.
* tests:
- link against common_internal_objs explicitly if the test in
question is using the internal symbols.
* ceph-client-debug:
- link against client explicitly, and do not link against librados
anymore, as it is not used in this tool.
Fixes: http://tracker.ceph.com/issues/16556
Signed-off-by: Kefu Chai <kchai@redhat.com>
for example, json_spirit uses common_utf8, so link json_spirit against common_utf8.
because libcommon includes json_spirit, this change does not impact the
consumers of libcommon.
Signed-off-by: Kefu Chai <kchai@redhat.com>
- make sure the right compiler is used in CXX
- NDEBUG if the current code is not being build with debugging
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>