| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
currently, crimson project is only targeting crimson-osd.
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
| |
Fixes: http://tracker.ceph.com/issues/24823
Signed-off-by: Venky Shankar <vshankar@redhat.com>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@redhat.com>
|
|\
| |
| |
| |
| | |
common,crimson: port perfcounters to seastar
Reviewed-by: Kefu Chai <kchai@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
reuse PerfCounterCollectionImpl to port it to seastar. create
shard service for perfcounters, each seastar thread has its own
perfcounterscollection and perfcunters m_loggers.
Signed-off-by: chunmei Liu <chunmei.liu@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
extract PerfCounterCollectionImpl and move m_lock out
from perfcounters.cc to upper,then seastar osd can reuse
functions in perfcounters.cc.
Signed-off-by: chunmei Liu <chunmei.liu@intel.com>
|
| |
| |
| |
| |
| |
| | |
Report bytes and items for each mempool.
Signed-off-by: Sage Weil <sage@redhat.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
rgw and rbd_mirror were enabling a perfcounter monitoring the heartbeatmap.
Enable this unconditionally for all ccts. This is simpler and more
useful!
Add a CINIT_FLAG to avoid starting them up. This is only used by the unit
tests which do not expect all the cct crap and we don't want to
break every time we add a new cct counter. That means removing
the CephContextPerfCounters test.
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* define a specialized version CephContext for WITH_SEASTAR. this
CephContext exposes the minimal set of interface for ceph::mon::Client
* do not include unused stuff defined in common_init.cc, as it
introduces more compile-time dependencies we need to prepare to
appease the compiler.
* implement g_conf() for WITH_SEASTAR, so it returns
ceph::common::local_conf() if WITH_SEASTAR is defined.
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
| |
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
| |
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
| |
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
by moving ConfigValues out of md_config_t, we are able to point
md_config_t to a new ConfigValues instance at runtime, without
destroying the old one.
also remove ConfigReader, because all md_config_obs_t will be updated
with ConfigProxy now. as md_config_t is not able to offer the *data*
anymore.
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this change introduce three classes: ConfigValues, ConfigProxy and
ConfigReader. in seastar port of OSD, each CPU shard will hold its own
reference of configuration, and upon changes of settings, each
shard will be updated with the new setting in async. so this forces us
to be able to keep two set of configuration at the same time. so we
need to extract the changeable part of md_config_t out. so we can
replace the old one with new one on demand, and let different shards
share the same unchanged part, amon the other things, the Options map
and the lookup tables. that's why we need ConfigValues. we will add
a policy template for this class, so we can specialize for Seastar
implementation to allow different ConfigProxy instances to point
md_config_impl<> to different ConfigValues.
because the observer interface is still using md_config_t, to minimise
the impact of this change, handle_conf_change() and
handle_subsys_change() are not changed. but as it accepts a `const
md_config_t`, which cannot be used to create/reference the ConfigProxy
holding it, we need to introduce ConfigReader for reading the updated
setting from md_config_t in a simpler way, without exposing the
internal "values" member variable.
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
|
|
|
|
|
| |
before this change, we guard all read/write access to md_config_t with a
lock. after this change, this policy is optional. and is controled by a
enum named `LockPolicy`. we will use `md_config_impl<LockPolicy::SINGLE>`
to implement the lockless config used by crimson/osd.
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
|
|
| |
Require 'debug_asok_assert_abort = true'
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
| |
Fixes: http://tracker.ceph.com/issues/24408
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
|
|
| |
We can unregister all commands which belong to this hook. Make code
looks clean and avoid forgeting unregister command.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
|
|
|
|
|
|
|
| |
Clear an override value (if any). This works for 'ceph daemon ...'
asok commands.
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
|
| |
By convention dump() does not include the containing object section.
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
|
|
| |
We need to allow crypto to be set up and torn down before a fork. Count
the init/shutdown cycles to make that safe.
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is too complete a rewrite to reasonably break down into small steps,
and even if I could, it would be harder to review that way than to simply
review the new implementation. The semantics of the old one were so weird
that it's harder to reason about the change in behavior than to simply
review the new behavior.
That's my story, at least, and I'm sticking to it!
So, here are the highlights:
- $foo meta expansions are evaluated at get_val() time. This means the
weird bool arguments to set_val specifying whether things were expanded
are removed (they didn't make any sense unless you were thinking about the
old implementation).
- for every option, we track values from any inputs (config, mon,
override). At get_val() time, we pick the highest priority one.
- diff() is rewritten to be simple and to show you all of the above.
- internal interfaces are simplified, and in terms of Option::value_t
whenever possible.
- unit tests simplified somewhat based on the above.
Known issues:
- legacy values get pushed out in select cases. Notably if foo=$bar
and bar is updated, we do not update $foo (there is no dependency
tracking to do this efficiently).
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@redhat.com>
|
|\
| |
| |
| |
| |
| | |
common: Switch singletons to use immobile_any and cleanups
Reviewed-by: Jesse Williamson <jwilliamson@suse.de>
Reviewed-by: Kefu Chai <kchai@redhat.com>
|
| |
| |
| |
| |
| |
| |
| | |
This cleans up the interface, makes things more robust by using both
name and type, and does fewer allocations.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
| |
| |
| |
| |
| |
| |
| | |
And fix a bug where we exit in one code-path without releasing the
lock.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pass std::string_view to call, rather than passing strings by value.
Change cmdmap_t and the maps in admin_socket to use the std::less<>
transparent comparator, so we can compare string_views to strings. (Or
anything else with an equality operator with strings.)
Pass the cmdmap_t in to call by const reference, not reference.
The change to cmdmap_t requires changing some of the users of
cmdmap_t. (That is, make them actually use cmdmap_t explicitly, not
the open-coed map type.)
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
|
|
|
| |
Allows you to set a prefix for debug log messages send to stderr (e.g.,
"debug ").
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
|
|
|
|
| |
There is no reason for this to be exposed like a normal config option
(even a legacy one) since it is an internal safety flag.
We do keep the clear_() helper there for the unit test.
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
|
|
|
|
| |
This commit introduces a regression where the admin socket specified in
ceph.conf overrides command line arguments or environment variables.
This reverts commit 1630f4bbef3a3ff6efb56acbaa9b8786b945b1e6.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
|
|
|
|
|
|
|
|
| |
Reset admin_socket raw value if it is defined in conffile.
Just in case it used metavarirables (e.g, $pid) which could be expanded
again to the correct value in child process.
Signed-off-by: Zhi Zhang <zhangz.david@outlook.com>
|
|\
| |
| |
| |
| | |
auth: keep /dev/urandom open for get_random_bytes
Reviewed-by: Adam Emerson <aemerson@redhat.com>
|
| |
| |
| |
| | |
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
|/
|
|
|
|
|
|
|
| |
I added this originally to prevent a deadlock when reading a new-style
configuration variable from a called observer. I didn't realize at the
time that the config mutex was recursive, so this change was
superfluous.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
|
|
|
| |
And set up an observer in CephContext to coarsen/refine time stamps as
requested.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
| |
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
| |
Signed-off-by: Jesse Williamson <jwilliamson@suse.de>
|
|
|
|
| |
Signed-off-by: Jesse Williamson <jwilliamson@suse.de>
|
|
|
|
|
|
|
| |
ceph::spinlock models /BasicLockable/, and works with
standard library types like std::lock_guard<>.
Signed-off-by: Jesse Williamson <jwilliamson@suse.de>
|
|
|
|
| |
Signed-off-by: Jesse Williamson <jwilliamson@suse.de>
|
|
|
|
| |
Signed-off-by: Jesse Williamson <jwilliamson@suse.de>
|
|
|
|
|
|
|
| |
...and reinstate the set_daemon_default versions of config options
in place of the special casing in common_init.
Signed-off-by: John Spray <john.spray@redhat.com>
|
|
|
|
| |
Signed-off-by: John Spray <john.spray@redhat.com>
|
|
|
|
| |
Signed-off-by: John Spray <john.spray@redhat.com>
|
|
|
|
| |
Signed-off-by: Kefu Chai <kchai@redhat.com>
|