There seems to be no "universally accepted" way to declare a lambda as
[[always_inline]]. "Universally accepted" here meaning: accepted with
no error or warning by gcc8, gcc9 and clang.
See for example: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60503
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
* refs/pull/32521/head:
mds: clarify message about blocked scrub
mds: throttle scrub start for multiple active MDS
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
* refs/pull/32213/head:
cephfs-shell: don't catch libcephfs.Error unnecessarily
cephfs-shell: make every command set a return value on failure
pybind/cephfs: move LibCephFSStateError closer to base class
pybind/cephfs: add method to get error code in Error and OSError
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Also, non-recursive scrub still needs rejected: a given directory's
fragments may be on other ranks.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
* add check to "scrub start" command handler to dishonor request if
multiple MDS are "active" for a recursive scrub request
* add check to MDSRank::handle_mds_map() to see if scrubbing is in
progress and max_mds is greater than 1, if so then scrubbing is
aborted. This is supposed to take care of the condition when scrubbing
has been started with max_mds == 1 and then bumped to a higher value
Fixes: https://tracker.ceph.com/issues/43483
Signed-off-by: Milind Changire <mchangir@redhat.com>
if mgr is not active, monitor will refuse to set any option consumed by
mgr modules.
the reason the tests pass somtimes is that, we have a racing here:
1. stop all mgr daemons
2. MgrMonitor gets updated and updates its mgr_module_options
accordingly.
3. in TestDashboard.setUp(), we reset the port number for dashboard
using "ceph config set mgr mgr/dashboard/y/ssl_server_port 7789"
4. restart all mgr daemons
but the 2nd step and 3rd step could race with each other, if the 2nd
step happens after 3rd step, the test passes. otherwise it fails.
in this change, "--force" is passed to the "ceph config set" command,
so ConfigMonitor can bypass the sanity test for the option, and just
set this option.
Signed-off-by: Kefu Chai <kchai@redhat.com>
rgw:[bug] fix data consistency error casued by rgw sent timeout
Reviewed-by: Yuli Yang <yuliyang@cmss.chinamobile.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
rgw: build_linked_oids_for_bucket and build_buckets_instance_index should return negative value if it fails
Reviewed-By: Casey Bodley <cbodley@redhat.com>
Reviewed-By: Abhishek Lekshmanan <abhishek@suse.com>
qa/tasks/mgr/dashboard: set pg_num to 16
Reviewed-by: Volker Theile <vtheile@suse.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
before this change, `setattr()` sets the instance specialized with a certain method
of test case, so in `MgrTestCase.setUpClass()`
assert cls.mgr_cluster is not None
fails,
after this change, instead of test case, the class of test suite is updated with the
specified params, even if we pass a certain test to test runner.
so we can
./run-backend-api-tests.sh tasks.mgr.test_dashboard.TestDashboard.test_standby
now. before this change, we can only:
./run-backend-api-tests.sh tasks.mgr.test_dashboard.TestDashboard
Signed-off-by: Kefu Chai <kchai@redhat.com>
mgr/dashboard: Throw a more meaningful exception
Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
At first look it appears that class OSError is the only class derived
from class Error which makes class Error look redundant. Therefore, it's
better to move class LibCephFSStateError from the bunch of exception
classes derived from OSError to closer to class Error.
Signed-off-by: Rishabh Dave <ridave@redhat.com>