* refs/pull/26986/head:
mgr: Make 3rd parameter optional in ceph_get_module_option
Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Sage Weil <sage@redhat.com>
If a cluster had a pg merge pending before last_pg_merge_meta was
introduced then the source_pgid will be pg_t(). If that's the case,
skip these new checks.
Likewise, if we decode a legacy pg_pool_t, put the old merge les/lec
values into the correct location.
Signed-off-by: Sage Weil <sage@redhat.com>
* refs/pull/26958/head:
mon: avoid using naked pointer
msg/async: do not "return std::move(local_var)"
mon: do not assert on bad auth payload
Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: João Eduardo Luís <joao@suse.de>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
* refs/pull/26965/head:
ms/async/ProtocolV2: add ms_die_on_bug and assert rxbuf/txbuf don't get big
msg/async/ProtocolV2: do not reenable pre_auth buffering on from reset_recv_state
Reviewed-by: Ricardo Dias <rdias@suse.com>
it prevents copy elision. and both GCC and Clang warn like
warning: moving a local object in a return statement prevents copy
elision [-Wpessimizing-move]
Signed-off-by: Kefu Chai <kchai@redhat.com>
This is specifically bad because we call reset_recv_state from
reuse_connection, which turns buffering back on on an already-authenticated
session.
Instead, reenable it only when we set the state to START_CONNECT. (On
the accepting side, it is a fresh connection, so it starts out true.)
Also, we want to *disable* it on the connection we are reusing, which
might be in a pre-auth state, while we are in a post-auth state.
Fixes: http://tracker.ceph.com/issues/38746
Signed-off-by: Sage Weil <sage@redhat.com>
mgr/dashboard: Fix issues in controllers/docs
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Patrick Nawracay <pnawracay@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Tina Kallio <tina.kallio@gmail.com>
Since this commonly occurs and isn't an error of concern at level 1.
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit c246abb393)
* refs/pull/26898/head:
osd/PG: invalidate PG if merging with unexpected version
osd,mon: include more pg merge metadata in pg_pool_t
qa/standalone/osd/pg-split-merge.sh: reproduce pg merge problem with empty pgs
osd: add osd_debug_no_{acting_change,purge_strays}
Reviewed-by: Neha Ojha <nojha@redhat.com>
* refs/pull/26875/head:
common: implement HMACs on top of OpenSSL.
msg/async, v2: switch the pre-auth mechanism to HMAC-SHA256.
include/types: beef sha_digest_t up with encode and compare.
auth: add hmac_sha256() to CryptoKey.
msg/async, v2: introduce pre_auth exchanges with CRC32.
msg/async, v2: introduce pre_auth buffers.
msg/async, v2: rectify the encapsulation of rx_segments_{desc,data}.
msg/async, v2: rework decoding of MessageFrame.
msg/async, v2: limit the num_segments to non-empty segments.
msg/async, v2: drop the bl onwire space optimization in ControlFrames.
msg/async, v2: clean up ret handling in ProtocolV2::write().
msg/async, v2: drop next_payload_len as we don't need anymore.
msg/async, v2: drop temp_buffer and limitations driven by it.
msg/async, v2: switch to rx_buffer_t entirely.
msg/async, v2: rx continuations use buffer::ptr_node.
msg/async, v2: use bptr continuation for segment reading.
msg/async: introduce bptr-carrying continuations.
msg/async: replace CONTINUATION_PARAM() with specialized types.
msg/async, v2: ::_banner_exchange() takes CtRef instead of CtPtr.
msg/async: avoid extra pointers in continuation definitions.
msg/async, v2: dissect setting stream handlers into ::finish_auth().
msg/async, v2: drop ceph_msg_header2 handling from ControlFrames.
msg/async, v2: drop the SignedEncryptedFrame entirely.
msg/async, v2: reintroduce segment aligment. It's compile-time now.
msg/async, v2: generalize Frame about number of segments.
msg/async, v2: rework and generalize Frame encryption.
msg/async, v2: rework the class hierarchy - introduce MessageFrame.
msg/async, v2: rework the class hierarchy - introduce ControlFrame.
msg/async/ProtocolV2: remove obsolete AuthFlags
Reviewed-by: Sage Weil <sage@redhat.com>
* This test suite helps to catch mgr module regressions introduced by
dashboard feature/bugfix.
* Fixed: 'ceph -w' now behaves properly for Python 3.
Fixes: https://tracker.ceph.com/issues/38394
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
The global ceph context is not initialized when list-mapped command
is issued.
The regression was introduced by a92628f285.
Signed-off-by: Mykola Golub <mgolub@suse.com>
* refs/pull/26894/head:
qa/standalone/erasure-code/test-erasure-code: adjust test to avoid m=0
erasure-code: ensure m >= 1
mon/OSDMonitor: set ec min_size to k + min(1, m - 1)
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
_DD is k=2 m=0, which we don't allow. Switch it to cDD.
I confess I don't fully understand why this was _DD to begin with, but
I'm pretty sure mapping is there to control the order of results so that
it can be mapped to the CRUSH rule output sanely, and the coding portion
is not relevant to the test.
Signed-off-by: Sage Weil <sage@redhat.com>
Valgrind makes the MDS slowwwww. The newish mds_heartbeat_grace config allows
us to keep sending beacons to the mons even if the internal heartbeat is slow.
This avoids the laggy messages which are useful to grep for unrelated messaging
issues.
Fixes: http://tracker.ceph.com/issues/38723
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>