Commit Graph

134009 Commits

Author SHA1 Message Date
Samuel Just
2b5c471913 crimson/os: consolidate context handling in FuturizedStore
Context handling is pretty uniform accross all implementations,
may as well do it in the same place.

ShardedStoreProxy would need to handle it otherwise, since
callbacks need to be handled on the core do_transaction is
invoked on.

Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-26 19:35:41 -07:00
Samuel Just
2c1f213bfa crimson/os/futurized_store: create ShardedStoreProxy
For now, FuturizedStore implementations assume that methods are invoked
on core 0.  Later, we'll adapt each implementation to intelligently
support invocation on any pg core.  Until then, this wrapper converts
the existing implementations to a safe, if not particuarly performant,
proxy behavior.

AlienStore should be safe as is.

Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-26 19:35:38 -07:00
Samuel Just
2b2f5b7009 crimson/osd: adjust get_pg_stats() and for_each_pg() to return futures
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-26 19:33:04 -07:00
Samuel Just
a7296e5ea2 crimson/osd: refactor pg management for multicore
OSDSingletonState will now only be responsible for the spg_t->core
mapping for pgs, the individual PerShardState's will hold local
PGMap's.  PG management operations are now proxied from PGShardManager
to PerShardState.  Subsequent patches will shard PerShardState.

Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-26 19:33:01 -07:00
Samuel Just
e94a12a8e3 crimson/osd: modify start_pg_operation to return op_id
The op will actually be run generally on a different core, so we don't
want to be returning a reference to it.

Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-26 19:31:16 -07:00
Samuel Just
25a4612745 crimson/osd/pg_map: add PGShardMapping
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-26 19:31:13 -07:00
Samuel Just
b4b2ab171c crimson/osd: rework OSDMap handling for multicore
OSDMaps can occupy significant space in memory.  Duplicating OSDMaps
across cores would multiply that memory usage as well as complicate
the internal structure sharing we do when applying OSDMap incrementals.

Because PeeringState and other interfaces expect efficient copying of
OSDMapRef objects we don't want to use foreign_ptr directly.

Instead, maintain a single cache and distribute local_shared_foreign_ptrs
to other cores.  ShardServices becomes the only OSDMapService.

Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-22 14:50:00 -07:00
Samuel Just
6385b86520 crimson/common: introduce local_shared_foreign_ptr
Introduces a foreign_ptr wrapper to allow core-local refcounting.

Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-22 13:16:50 -07:00
Samuel Just
6e2d58a92d crimson/common/operation: generalized for multiple reactors
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-21 10:37:22 -07:00
Samuel Just
5544b2ebd8 crimson/osd: make mkfs static
Can't access pg_shard_manager state here without invoking
start().  Instead, let's just be explicit about meta_coll
etc.

Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-21 10:37:02 -07:00
Samuel Just
895170d77d crimson/osd/main: need to actually invoke ConfigProxy::start()
sharded_proxy()::start() is a sharded<> method.

Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-21 10:36:59 -07:00
Samuel Just
f6c4d937e1 crimson/osd/main: don't shard OSD
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-21 10:36:50 -07:00
Samuel Just
9ddb009279 crimson/osd: rename CoreState to OSDSingletonState
CoreState was a bad name -- "core" is going to be used
to refer to seastar reactors/cores as well.

Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-21 10:36:50 -07:00
Samuel Just
03765c09bf crimson/osd/shard_services: formatting fixes
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-21 10:36:50 -07:00
Samuel Just
cd8a069ab3 crimson/common: introduce smp_helpers.h, crimson::submit_to
Introduce crimson::submit_to wrapper to transparently deal with
vanilla and errorated futures, adds helpers to errorator.h.

Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-21 10:36:46 -07:00
Samuel Just
9961e70e73 crimson/.../client_request: use intrusive_ptr for instance_handle
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-20 17:34:47 -07:00
Samuel Just
73ce96de86
Merge pull request #48121 from rzarzynski/wip-crimson-pgadvmap-critical-from
crimson/osd: initialize PGAdvanceMap::from inside critical section

Reviewed-by: Samuel Just <sjust@redhat.com>
2022-09-20 15:00:45 -07:00
Casey Bodley
870fbefd4d
Merge pull request #48131 from adamemerson/wip-no-fno-new-ttp-matching
build: Remove -fno-new-ttp-matchingg flag

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2022-09-20 11:23:17 -04:00
Venky Shankar
cfa0feee0d
Merge pull request #48172 from mchangir/doc-add-note-about-cephfs-mirroring-paths
doc/cephfs: add note about cephfs-mirroring paths

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-09-20 17:23:38 +05:30
Milind Changire
56178917a6 doc/cephfs: add note about cephfs-mirroring paths
Signed-off-by: Milind Changire <mchangir@redhat.com>
2022-09-20 13:47:09 +05:30
Venky Shankar
61f9c4501e
Merge pull request #48149 from batrick/i57586
tools: allow spaces in dentries for first-damage.sh

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2022-09-20 09:36:38 +05:30
Samuel Just
2e712c26d8
Merge pull request #48057 from athanatos/sjust/wip-io-hang
crimson/osd/client_request: use fresh tracking_events/handle instances on requeue

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2022-09-19 17:52:36 -07:00
Samuel Just
b23b1a4f12 crimson/osd/client_request: use fresh tracking_events/handle instances on requeue
See instance_handle_t explanation in client_request.h

Fixes: https://tracker.ceph.com/issues/57494
Fixes: https://tracker.ceph.com/issues/57495
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-19 21:04:14 +00:00
Samuel Just
a79e029a72
Merge pull request #48059 from athanatos/sjust/wip-57506
crimson: fix for pgs stuck in +wait along with some debug improvements

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2022-09-19 13:40:41 -07:00
Samuel Just
e811060b84
Merge pull request #48091 from rzarzynski/wip-crimson-pgadvmap-complete-in-order
crimson/osd: PGAdvanceMap ops complete in order

Reviewed-by: Samuel Just <sjust@redhat.com>
2022-09-19 13:30:52 -07:00
Nizamudeen A
7ca84d65ca
Merge pull request #48134 from rhcs-dashboard/silence-fix
mgr/dashboard: use service call instead of form component

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
2022-09-20 00:53:55 +05:30
Patrick Donnelly
acab0766e5
tools: allow spaces in dentries for first-damage.sh
Fixes: https://tracker.ceph.com/issues/57586
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2022-09-19 13:34:22 -04:00
Patrick Donnelly
4081f949b7
qa: test first damage with dentry containing spaces
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2022-09-19 13:34:19 -04:00
Samuel Just
ad87f822bd
Merge pull request #45369 from jyha200/wip-samplededup
ceph_dedup_tool: adding sample-dedup

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Myoungwon Oh <myoungwon.oh@samsung.com>
2022-09-19 10:32:19 -07:00
Adam King
12235e92e6
Merge pull request #41855 from p-se/compile-cephadm-1
cephadm: compile cephadm

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2022-09-19 11:48:51 -04:00
Yuri Weinstein
346a33aeb6
Merge pull request #47873 from pdvian/wip-log-last
mon/LogMonitor: Fix log last

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2022-09-19 08:36:45 -07:00
Yuri Weinstein
98f8424eea
Merge pull request #47852 from Matan-B/wip-matanb-radosmodel
test/osd/RadosModel: Improve error debugging

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2022-09-19 08:36:15 -07:00
Yuri Weinstein
af5b108776
Merge pull request #47841 from Matan-B/wip-matanb-rados-striper
SimpleRADOSStriper: Avoid moving bufferlists by using deque in read()

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
2022-09-19 08:35:31 -07:00
Yuri Weinstein
c10c8a5e89
Merge pull request #47774 from vumrao/wip-vumrao-57271
blk/KernelDevice: Modify the rotational and discard check log message

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2022-09-19 08:33:54 -07:00
Casey Bodley
f57c9b6bdd
Merge pull request #48156 from cbodley/wip-rgw-unused-throttles
rgw: remove unused AioThrottles in rgw_op.cc

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2022-09-19 11:31:25 -04:00
Adam King
fb3ad64e12
Merge pull request #46321 from jmolmo/issue_55605
mgr/rook: fix error when trying to get the list of nfs services

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2022-09-19 11:04:58 -04:00
Yuri Weinstein
00038e90fc
Merge pull request #46961 from tcoldrick-bb/balancer-weekday
mgr/balancer: Disallow 7 as {begin,end}_weekday and 2400 as {begin,end}_time

Reviewed-by: Laura Flores <lflores@redhat.com>
2022-09-19 07:15:29 -07:00
Yuri Weinstein
6875406e05
Merge pull request #46091 from pdvian/wip-bluestore-error
os/bluestore: Log error to stderr if fail to decode label

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2022-09-19 07:15:01 -07:00
Yuri Weinstein
4ceb1dce5a
Merge pull request #43791 from rzarzynski/wip-net-perfctrs-for-encrypted-traffic
auth, msg/async: add perf counters for encrypted traffic

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
2022-09-19 07:14:02 -07:00
Avan
ab17e4ba1f
Merge pull request #48166 from rhcs-dashboard/fix-empty-pid-path-case
exporter: don't skip loop if pid path is empty

Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2022-09-19 18:47:15 +05:30
Avan Thakkar
c817d7d2db exporter: don't skip loop if pid path is empty
Signed-off-by: Avan Thakkar <athakkar@redhat.com>

Fixes issue when pid file config comes empty from config dump which prevents to add metrics. Also get process metrics only if
pid_path isn't empty.
2022-09-19 16:00:20 +05:30
Igor Fedotov
78b1093679
Merge pull request #47986 from lmgdlmgd/patch-3
osd: set per_pool_stats true when OSD has no PG

Reviewed-by: Igor Fedotov <ifedotov@croit.io>
2022-09-19 11:54:30 +03:00
Lucian Petrut
c75a10c53b
Merge pull request #48139 from ktdreyer/win-simplify-openssl
win32: skip installing openssl man pages
2022-09-19 10:59:33 +03:00
Nizamudeen A
d30d92298a mgr/dashboard: use service call instead of form component
For creating the silence from the notification sidebar, instead of using
the silence form which will require initializing the whole component on
the landing page, we can just call the prometheus service and pass on
the required data to the service call. This will fix showing the
`Prometheus not configured` error everytime we visit the landing page when
the prometheus is not configured

Fixes: https://tracker.ceph.com/issues/57576
Signed-off-by: Nizamudeen A <nia@redhat.com>
2022-09-19 11:20:55 +05:30
myoungwon oh
e7ca6d0276 ceph_dedup_tool: fix threshold comparison
If threadhold count is 2, existing code always returns true
even though reference count is 1 actually  because it additionally
adds one via ++.

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
2022-09-19 13:22:16 +09:00
Samuel Just
df71ca5592 ceph_dedup_tool: make SampleDedupWorkerThread::chunk_size const
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-19 13:22:10 +09:00
Samuel Just
4878cebe20 ceph_dedup_tool: remove unused SampleDedupWorkerThread::duplicable_chunks
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-19 13:22:04 +09:00
Samuel Just
6ae386d48f ceph_dedup_tool: minor code simplifications
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-19 13:21:57 +09:00
Samuel Just
f5abe9cd0b ceph_dedup_tool: remove unimplemented mark_non_dedup method signature
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-19 13:21:51 +09:00
Samuel Just
988113c1cd ceph_dedup_tool: fix log lines to use std::endl, update object skip message
Signed-off-by: Samuel Just <sjust@redhat.com>
2022-09-19 13:21:45 +09:00