otherwise GCC complains that 'unsigned long int' is not a class or
namespace when trying to materialize is_const_iterator_v<>. not sure why
SFINAE does not work here, though.
Signed-off-by: Kefu Chai <kchai@redhat.com>
new buffer_seastar.cc implements the buffer::raw types for seastar,
built in an object library outside of libcommon
Signed-off-by: Casey Bodley <cbodley@redhat.com>
this allows new raw buffer types to live outside of buffer.cc, and
potentially outside of libcommon entirely
Signed-off-by: Casey Bodley <cbodley@redhat.com>
* add unit_test_framework for appease seastar's find_package() call,
even we don't build seastar's tests
* some seastar functions declare their return value like:
const size_t str_len(...). and GCC does not like the "const" in it.
so silence it
Signed-off-by: Kefu Chai <kchai@redhat.com>
With this helper function you can easily resolve the TestBed resetting
performance issue. If more tests exists in a test suite, it makes sense
to configure TestBed only once if you are not doing a lot of TestBed
specific stuff (haven't hit the limitation). It will reduce the test
run time by around $tests * 50 %. In my case it was a test suite with
47 tests with a run time of over 30s after using the static test bed
method it ran in 1.2s. The run time was reduced to 0.04 %! This is
equivalent to a speed increase of 2500% (100/0.04)!
For our own security the normal way will be taken if you not
set the _DEV_ configuration variable to true. It will be false when
"run-frontend-unittests.sh" is run.
Signed-off-by: Stephan Müller <smueller@suse.com>
A stray PG may end up in ReplicaActive if it is participating in backfill.
However, whether it is or isn't, we should treat queries the same.
Otherwise we end up with weird behaviors like:
- osd's stray pg moves to ReplicaActive (gets info+log from primary)
- osd goes down and back up
- primary restarts peering, request FULLLOG to find missing objects
- osd ignores FULLLOG because it is ReplicaActive and not Stray
Fixes: http://tracker.ceph.com/issues/24373
Reported-by: Kouya Shimura <kouya@jp.fujitsu.com>
Signed-off-by: Sage Weil <sage@redhat.com>
Consider a PG that is stray and ends up in ReplicaActive (because it is
participating as a recovery source). If it is marked down wrongly and
then comes back up, then the PG will not reset, because there was not
an interval change (the PG is not part of the up or acting sets).
This can leave the PG in an odd state, leading to questionable behavior.
(For example, a stray might be in ReplicaActive and then ignore some
types of query messages.)
Signed-off-by: Sage Weil <sage@redhat.com>
This reverts most of 8d07fa5ad0.
ceph-volume goes to great lengths to ensure that the symlinks in the
osd dir are accurate. Having these values here is an opportunity to
get them out of sync. And that can happen very easily if the initial
mkfs was performed using a /dev/sdX device name (which is unstable
across reboots). Even after ceph-volume corrects the symlink, bluestore
will continue to use the stale device path.
Signed-off-by: Sage Weil <sage@redhat.com>
The last_decay in the msg might be 0 (utime_t()), so the eclipse time is very
large and the original value would be decayed to 0. We should set last_decay
to current time when decoding decay counter.
Fixes: http://tracker.ceph.com/issues/24440
Signed-off-by: Zhi Zhang <zhangz.david@outlook.com>
This was broken by 7f787704cd. Old code
does not decode an addrvec as an addr.
Take the opportunity to remove the old_available_modules field.
Signed-off-by: Sage Weil <sage@redhat.com>
when called by object_map::RefreshRequest. Since we really only open
the object map when we own the exclusive lock.
Fixes: http://tracker.ceph.com/issues/24434
Signed-off-by: Mykola Golub <mgolub@suse.com>
mgr/dashboard: Print a blank space between value and unit
Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Sebastian Krah <skrah@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
we should reference liboath by the $name in Find${name}.cmake, also the
$name should be consistent when calling find_package_handle_standard_args().
in this change
* rename Findliboath.cmake to FindOATH.cmake to be consistent with other
find_package() moduless.
* use "OATH" in find_package_handle_standard_args() instead of "oath"
* set the interface properties for OATH::OATH, so the target linking
against it can reference its header directories and libraries automatically.
* remove the stale comment for find_package_handle_standard_args()
* set OATH_INCLUDE_DIRS and OATH_LIBRARIES to follow the convention of
find_package(), even they are not used directly in this project.
Reported-by: Erwan Velu <erwan@redhat.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>