The new suffix is still a time that follows the ISO standard as it can
be converted into any other time zone through the time zone prefix of
itself.
Fixes: https://tracker.ceph.com/issues/23858
Signed-off-by: Stephan Müller <smueller@suse.com>
we could have kept rotating_keyring as a plain member variable, but
`AuthClientHandler` keeps a weak reference to it, we are not able to
update it to point it to the new rotating_keyring in the newly created
active_con created from the connected pending connection -- the move
ctor of ceph::mon::Connection does create a new RotatingKeyring. so this
has two consequences:
- the raw pointer held by AuthClientHandler is not valid anymore, after
the pending connection is destroyed when it is promoted to active_con.
so we are writing to freed memory when renewing the rotating keyring.
- we won't have access to the updated keyring.
if we use a std::vector<unique_ptr<Connection>> for pending_conns, this
change won't be needed. we could make this change in a future change
though.
Signed-off-by: Kefu Chai <kchai@redhat.com>
AuthAuthorizeHandler::verify_authorizer() neither changes the keystore,
nor expects a nullptr. so we should pass the keystore by const reference
for better readability
Signed-off-by: Kefu Chai <kchai@redhat.com>
crimson-common and ceph-common have subtle difference which is
conditionalized by WITH_SEASTAR macro. and the different implementations
share the same name, so we should not link crimson executables against ceph-common .
Signed-off-by: Kefu Chai <kchai@redhat.com>
crimson messenger's tests does not use ConfigProxy at the time of writing,
and ldout() cannot tell if a log message should be written to the
logfile or not without querying config subsystem, so, to avoid involving
config system in crimson messenger's tests, the log line is disabled if
WITH_SEASTAR, we will kill this workaround once we ditch crimson/net/Config.h.
Signed-off-by: Kefu Chai <kchai@redhat.com>
crimson/msgr does not depend on ConfigProxy at the time of writing. we
want to decouple it from config subsystem in hope to have less cross
subsystem dependencies and speed up the compiling speed.
but, to introduce cephx to msgr, we need to enable msgr to read from
ConfigProxy at runtime. so, to avoid keeping a CephContext instance
simply for accessing the ConfigProxy reference in it, it would be more
efficient to define a free function `conf()` which hides the difference
between crimson and classic user of auth/cephx.
Signed-off-by: Kefu Chai <kchai@redhat.com>
OSD always relies on its server to tell its address, without this
feature, it will advertise a blank ip address to monitor in MOSDBoot.
Signed-off-by: Kefu Chai <kchai@redhat.com>
CephxAuthorizeHandler::verify_authorizer() uses it for querying config
and for a RNG, so we have to pass it a CephContext which has `_conf` and
`random()`.
Signed-off-by: Kefu Chai <kchai@redhat.com>
This flag is used for compatibility with pre-nautilus OSDs, which do not
send authorizers on the OSD heartbeat connections. However, because the
AuthServer is implemented by MonClient, which is shared across all
OSD messengers, we can't set this to false for the OSD without disabling
all auth. Instead, make it a Messenger property, and set it only on the
heartbeat server messengers.
Signed-off-by: Kefu Chai <kchai@redhat.com>
The 'image_lock' now protects the 'object_map' pointer and
the contents of the object-map itself are protected by a
private lock.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
This lock used to protect the IO pathway to prevent writes but
that is now handled by the io::ImageRequestWQ. Additional
historical uses have been temporarily moved to the
'ImageCtx::image_lock'
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
This is the first step in consolidating multiple locks under a single
reader/writer lock for simplicity.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
in latest libfmt, <fmt/time.h> is deprecated.
to silence warnings like
/home/kchai/ceph/src/fmt/include/fmt/time.h:13:2: warning: #warning
fmt/time.h is deprecated, use fmt/chrono.h instead [-Wcpp]
#warning fmt/time.h is deprecated, use fmt/chrono.h instead
^~~~~~~
In file included from
/home/kchai/ceph/src/seastar/include/seastar/core/reactor.hh:72:0,
from
/home/kchai/ceph/src/seastar/include/seastar/core/sharded.hh:24,
from /home/kchai/ceph/src/crimson/net/Fwd.h:18,
from /home/kchai/ceph/src/crimson/net/Protocol.h:9,
from /home/kchai/ceph/src/crimson/net/ProtocolV2.h:6,
from /home/kchai/ceph/src/crimson/net/ProtocolV2.cc:4:
Signed-off-by: Kefu Chai <kchai@redhat.com>
* refs/pull/18694/head:
Merge branch 'master' into sk-add_current_num_in_quota_info
mon/OSDMonitor.cc: Add current numbers of objects and bytes
Reviewed-by: Sage Weil <sage@redhat.com>
* refs/pull/26176/head:
os/bluestore: do not check osd_max_object_size in _open_path()
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Sage Weil <sage@redhat.com>