memory.h was introduced back when the shared_ptrs were still in TR1, but
we've moved to C++17 now. and the C++ clients should be compiled with
a C++11 compatible compiler. so there is no need to have this file anymore.
also replace all references of ceph::shared_ptr and ceph::weak_ptr with
std::shared_ptr and std::weak_ptr accordingly.
Signed-off-by: Kefu Chai <kchai@redhat.com>
* refs/pull/22691/head:
os/bluestore: fix minor issues in bitmap logging output
os/bluestore: fix overlappedd allocation returned by bitmap allocator
Reviewed-by: Sage Weil <sage@redhat.com>
If ulimit is set to a 1024 value, ceph-osd will segfault with the
following error :
filestore(td/smoke/0) error (24) Too many open files not handled on operation 0x55565d1fd004 (2182.1.0, or op 0, counting from 0)
This patch is about to insure that before setting up ceph daemons in tests, a valid ulimit value is setup.
Signed-off-by: Erwan Velu <erwan@redhat.com>
get_timeout_delays() is a generic function to compute delays for a long
period of time without saturating the CPU is busy loops.
It works pretty fine when the delay is short like having the following
series when requesting a 20seconds timeout : "0.1 0.2 0.4 0.8 1.6 3.2 6.4 7.3 ".
Here the maximum between two loops is 7.3 which is perfectly fine.
When the timeout reaches 300sec, the same code produces the following
series : "0.1 0.2 0.4 0.8 1.6 3.2 6.4 12.8 25.6 51.2 102.4 95.3 "
In such example there is delays which are nearly 2 minutes !
That is not efficient as the expected event, between two loops, could
arrive just after this long sleep occurs making a minute+ sleep for
nothing. On a local system that could be ok while on a CI, if all jobs
run like CI the overall is pretty unefficient by generating useless CPU
waits.
This patch is about adding a maximum acceptable delay time between two
loops while keeping the same rampup behavior.
On the same 300 seconds delay example, with MAX_TIMEOUT set to 10, we
now have the following series: "0.1 0.2 0.4 0.8 1.6 3.2 6.4 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 7.3"
We can see that the long 12/25/51/102/95 values vanished and being
replaced by a series of 10 seconds. It's up to every test defining the
probability of having a soonish event to complete.
The MAX_TIMEOUT is set to 15seconds.
Signed-off-by: Erwan Velu <erwan@redhat.com>
Replaced the string "Pool" with "Pools" in the navigation component.
Fixes: https://tracker.ceph.com/issues/24623
Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
in some case, the $builddepcmd will failed without any "error:" output.
so we should check the exit status to handle it.
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
* refs/pull/22479/head:
mgr/devicehealth: add self-test
mgr/devicehealth: make config options instance attributes
mgr/devicehealth: active -> enable_monitoring
mgr/mgr_module: update docstring for get()
mgr/devicehealth: fix 'device get-health-metrics' when no metrics are stored
mgr/devicehealth: add some scraping infrastructure
osd: optionally query smart for a single devid
mgr/ActivePyModules: add get for 'device <devid>'
osd: key smart results by unique device id
mgr: enable devicehealth by default
mgr/devicehealth: rename old smart module to devicehealth
* refs/pull/22588/head:
mgr/iostat: column_width should be int not float
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Mohamad Gebai <mgebai@suse.com>
- command to fetch smart info
- command to scrape a device and store the metrics
- command to scrape all devices (and store)
- command to dump stored metrics
- purging of old metrics
This is based on code originally written by Yaarit.
Signed-off-by: Yaarit Hatuka yaarithatuka@gmail.com
Signed-off-by: Sage Weil <sage@redhat.com>
This is slightly different than the usual pattern because it is
parameterized. I want to avoid fetching *all* devices if we don't need
it.
Signed-off-by: Sage Weil <sage@redhat.com>