]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
15 months agoMerge pull request #57281 from Matan-B/wip-55684-squid
Matan Breizman [Wed, 15 May 2024 13:33:24 +0000 (16:33 +0300)]
Merge pull request #57281 from Matan-B/wip-55684-squid

squid: crimson: fixes for stack-use-after-return on recent clang and gcc versions

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57350 from Matan-B/wip-56217-squid
Matan Breizman [Wed, 15 May 2024 10:41:40 +0000 (13:41 +0300)]
Merge pull request #57350 from Matan-B/wip-56217-squid

squid: test/crimson/sesastore/test_block: add constructor to construct

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57349 from Matan-B/wip-56462-squid
Matan Breizman [Wed, 15 May 2024 10:41:19 +0000 (13:41 +0300)]
Merge pull request #57349 from Matan-B/wip-56462-squid

squid: crimson/os/seastore: fix use after free error

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57348 from Matan-B/wip-56332-squid
Matan Breizman [Wed, 15 May 2024 10:40:56 +0000 (13:40 +0300)]
Merge pull request #57348 from Matan-B/wip-56332-squid

squid: crimson/os/pg_map: allow multiple shards to create new pg mappings at the same time

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57346 from Matan-B/wip-56374-squid
Matan Breizman [Wed, 15 May 2024 10:39:05 +0000 (13:39 +0300)]
Merge pull request #57346 from Matan-B/wip-56374-squid

squid: crimson/osd/osd.h: declare osdmap after OSDSingletonState

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57345 from Matan-B/wip-56250-squid
Matan Breizman [Wed, 15 May 2024 10:38:40 +0000 (13:38 +0300)]
Merge pull request #57345 from Matan-B/wip-56250-squid

squid: crimson/os/seastore: cache metadata during trimming to prevent from disk read

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57344 from Matan-B/wip-55846-squid
Matan Breizman [Wed, 15 May 2024 10:38:12 +0000 (13:38 +0300)]
Merge pull request #57344 from Matan-B/wip-55846-squid

squid: crimson: add coroutine support for errorated and interruptible futures

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57326 from Matan-B/wip-55855-squid
Matan Breizman [Wed, 15 May 2024 10:34:26 +0000 (13:34 +0300)]
Merge pull request #57326 from Matan-B/wip-55855-squid

squid: crimson/os/seastore: adjust SeaStore::_omap_set_kvs() params

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57322 from Matan-B/wip-55981-squid
Matan Breizman [Wed, 15 May 2024 10:27:25 +0000 (13:27 +0300)]
Merge pull request #57322 from Matan-B/wip-55981-squid

squid: crimson/os/seastore/collection_manager: allow empty-delta-buffer collection nodes

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57315 from Matan-B/wip-55977-squid
Matan Breizman [Wed, 15 May 2024 10:21:14 +0000 (13:21 +0300)]
Merge pull request #57315 from Matan-B/wip-55977-squid

squid: crimson/os/seastore: allow to remap the dirty extent

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57314 from Matan-B/wip-55536-squid
Matan Breizman [Wed, 15 May 2024 10:20:41 +0000 (13:20 +0300)]
Merge pull request #57314 from Matan-B/wip-55536-squid

squid: osd/SnapMapper: Crimson - fix OSDriver::get_next

Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
15 months agoMerge pull request #57312 from Matan-B/wip-55910-squid
Matan Breizman [Wed, 15 May 2024 10:19:39 +0000 (13:19 +0300)]
Merge pull request #57312 from Matan-B/wip-55910-squid

squid: osd/SnapManager: Crimson - fix std::string constructed from 0

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57311 from Matan-B/wip-55946-squid
Matan Breizman [Wed, 15 May 2024 10:19:09 +0000 (13:19 +0300)]
Merge pull request #57311 from Matan-B/wip-55946-squid

squid: crimson/os/seastore: make less verbose log when testing performance on RBM

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57289 from Matan-B/wip-55772-squid
Matan Breizman [Wed, 15 May 2024 10:18:00 +0000 (13:18 +0300)]
Merge pull request #57289 from Matan-B/wip-55772-squid

squid: crimson/os/seastore: two attrs related bug fixes

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57288 from Matan-B/wip-55705-squid
Matan Breizman [Wed, 15 May 2024 10:17:31 +0000 (13:17 +0300)]
Merge pull request #57288 from Matan-B/wip-55705-squid

squid: crimson/os/seastore: fix wrong-positioned asserts

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57286 from Matan-B/wip-55407-squid
Matan Breizman [Wed, 15 May 2024 10:15:37 +0000 (13:15 +0300)]
Merge pull request #57286 from Matan-B/wip-55407-squid

squid: crimson/osd/shard_services: make sure that only up/acting members can create pgs

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #57283 from Matan-B/wip-55641-squid
Matan Breizman [Wed, 15 May 2024 10:15:11 +0000 (13:15 +0300)]
Merge pull request #57283 from Matan-B/wip-55641-squid

squid: crimson/osd/main: Enable multicore client messenger

Reviewed-by: Samuel Just <sjust@redhat.com>
15 months agoMerge pull request #56508 from rosinL/wip-65164-squid
Matan Breizman [Wed, 15 May 2024 10:11:29 +0000 (13:11 +0300)]
Merge pull request #56508 from rosinL/wip-65164-squid

squid: cmake/AddCephTest: bind crimson unittest to different cores

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
15 months agoMerge pull request #57465 from idryomov/wip-51845-squid
Ilya Dryomov [Wed, 15 May 2024 07:32:04 +0000 (09:32 +0200)]
Merge pull request #57465 from idryomov/wip-51845-squid

squid: qa/suites/krbd: drop pre-single-major and move "layering only" coverage

Reviewed-by: Ramana Raja <rraja@redhat.com>
15 months agoMerge pull request #57461 from frittentheke/wip-65838-squid
Aashish Sharma [Wed, 15 May 2024 07:16:03 +0000 (12:46 +0530)]
Merge pull request #57461 from frittentheke/wip-65838-squid

squid: monitoring/ceph-mixin: Cleanup of variables, queries and tests (to fix showMultiCluster=True)

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
15 months agoqa/suites/krbd: rename no-object-map to no-exclusive-lock 57465/head
Ilya Dryomov [Mon, 13 May 2024 11:45:26 +0000 (13:45 +0200)]
qa/suites/krbd: rename no-object-map to no-exclusive-lock

Exclusive lock has always been disabled by this facet, so it might as
well be reflected in its name.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit ad6a95d8af42b1c3ed9d244c6161e5269356c7c9)

15 months agoqa/suites/krbd: move "layering only" coverage to fsx
Ilya Dryomov [Mon, 13 May 2024 11:31:17 +0000 (13:31 +0200)]
qa/suites/krbd: move "layering only" coverage to fsx

It makes much more sense there since it's where we actually create
clones and flatten them a lot.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 7b9f28e74325aad17c3774d594c3f0e1c4e25dc2)

15 months agoqa/suites/krbd: drop pre-single-major test
Ilya Dryomov [Sun, 12 May 2024 09:15:36 +0000 (11:15 +0200)]
qa/suites/krbd: drop pre-single-major test

Single-major mapping scheme was introduced in 2014 and became the
default in 2017.  It's getting increasingly difficult to build and,
more importantly, to boot a 10 year old kernel with recent userspace
(systemd, etc).  If someone is still running such a kernel, it's
really unlikely that they would have the most recent rbd CLI tool
installed.

Fixes: https://tracker.ceph.com/issues/51845
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 39a579144cd8b97dd338bfcf36c06ad4bcaed526)

15 months agoCleanup of variables, queries and tests to enable showMultiCluster=True 57461/head
Christian Rohmann [Fri, 26 Jan 2024 14:05:52 +0000 (15:05 +0100)]
Cleanup of variables, queries and tests to enable showMultiCluster=True

Rendering the dashboards with showMultiCluster=True allows for
them to work with multiple clusters storing their metrics in a single
Prometheus instance. This works via the cluster label and that functionality
already existed. This just fixes some inconsistencies in applying the label
filters.

Additionally this contains updates to the tests to have them succeed with
with both configurations and avoid the introduction of regressions in
regards to multiCluster in the future.

There also are some consistency cleanups here and there:
 * `datasource` was not used consistently
 * `cluster` label_values are determined from `ceph_health_status`
 * `job` template and filters on this label were removed to align multi cluster
    support solely via the `cluster` label
 * `ceph_hosts` filter now uses label_values from any ceph_metadata metrici
    to now show all instance values, but those of hosts with some Ceph
    component / daemon.
 *  Enable showMultiCluster=True since `cluster` label is now always present,
    via https://github.com/ceph/ceph/pull/54964

Improves: https://tracker.ceph.com/issues/64321
Signed-off-by: Christian Rohmann <christian.rohmann@inovex.de>
(cherry picked from commit 090b8e17f1e84d8b20e05143d5dd7ff107031176)

15 months agoMerge pull request #57426 from zdover23/wip-doc-2024-05-13-backport-57420-to-squid
Anthony D'Atri [Sun, 12 May 2024 21:36:53 +0000 (17:36 -0400)]
Merge pull request #57426 from zdover23/wip-doc-2024-05-13-backport-57420-to-squid

squid: doc/cephfs: edit fs-volumes.rst (1 of x) followup

15 months agodoc/cephfs: edit fs-volumes.rst (1 of x) followup 57426/head
Zac Dover [Sun, 12 May 2024 01:39:34 +0000 (11:39 +1000)]
doc/cephfs: edit fs-volumes.rst (1 of x) followup

Include the suggestions for improving doc/cephfs/fs-volumes.rst made by
Anthony D'Atri here
https://github.com/ceph/ceph/pull/57415#discussion_r1597362110

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit cb700d804b4390fd9f55444dcfc04dfebac3a1bf)

15 months agoMerge pull request #57417 from zdover23/wip-doc-2024-05-12-backport-57415-to-squid
Zac Dover [Sun, 12 May 2024 20:55:15 +0000 (06:55 +1000)]
Merge pull request #57417 from zdover23/wip-doc-2024-05-12-backport-57415-to-squid

squid: doc/cephfs: edit fs-volumes.rst (1 of x)

Reviewed-by: Cole Mitchell <cole.mitchell.ceph@gmail.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
15 months agoMerge pull request #56519 from rhcs-dashboard/wip-65133-squid
Avan [Sun, 12 May 2024 07:36:18 +0000 (13:06 +0530)]
Merge pull request #56519 from rhcs-dashboard/wip-65133-squid

squid: mgr/dashboard: add support for NFSv3 exports

Reviewed-by: afreen23 <NOT@FOUND>
15 months agoMerge pull request #57422 from zdover23/wip-doc-2024-05-12-backport-57421-to-squid
Anthony D'Atri [Sun, 12 May 2024 05:25:23 +0000 (01:25 -0400)]
Merge pull request #57422 from zdover23/wip-doc-2024-05-12-backport-57421-to-squid

squid: doc/dev: s/to asses/to assess/

15 months agodoc/dev: s/to asses/to assess/ 57422/head
Zac Dover [Sun, 12 May 2024 02:27:23 +0000 (12:27 +1000)]
doc/dev: s/to asses/to assess/

s/to asses/to assess/ in doc/deve/developer_guide/dash-devel.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 832358b072ec5cb4672de8a7a7aebf10a39fd0e5)

15 months agodoc/cephfs: edit fs-volumes.rst (1 of x) 57417/head
Zac Dover [Sat, 11 May 2024 04:57:23 +0000 (14:57 +1000)]
doc/cephfs: edit fs-volumes.rst (1 of x)

Edit doc/cephfs/fs-volumes to the section "FS Subvolumes" (but not
including the section "FS Subvolumes").

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 0acbb278fc712c32334fd7340b887d2865dbfb86)

15 months agoMerge pull request #57390 from zdover23/wip-doc-2024-05-10-backport-57372-to-squid
Zac Dover [Sat, 11 May 2024 23:47:27 +0000 (09:47 +1000)]
Merge pull request #57390 from zdover23/wip-doc-2024-05-10-backport-57372-to-squid

squid: doc/cephfs: expand the role of quiesce in consistent backups

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
15 months agoMerge pull request #57364 from zdover23/wip-doc-2024-05-09-radosgw-bucketpolicy-squid
Zac Dover [Fri, 10 May 2024 11:21:17 +0000 (21:21 +1000)]
Merge pull request #57364 from zdover23/wip-doc-2024-05-09-radosgw-bucketpolicy-squid

squid: doc/radosgw: update Squid S3 action list

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
15 months agoMerge pull request #57335 from zdover23/wip-doc-2024-05-08-backport-57298-to-squid
Zac Dover [Fri, 10 May 2024 11:12:17 +0000 (21:12 +1000)]
Merge pull request #57335 from zdover23/wip-doc-2024-05-08-backport-57298-to-squid

squid: doc/mgr: edit "Overview" in dashboard.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
15 months agoMerge pull request #57295 from zdover23/wip-doc-2024-05-07-backport-57273-to-squid
Zac Dover [Fri, 10 May 2024 11:05:46 +0000 (21:05 +1000)]
Merge pull request #57295 from zdover23/wip-doc-2024-05-07-backport-57273-to-squid

squid: doc/mgr: edit "Resolve IP address to hostname before redirect"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
15 months agodoc/cephfs: expand the role of quiesce in consistent backups 57390/head
Leonid Usov [Thu, 9 May 2024 12:29:33 +0000 (15:29 +0300)]
doc/cephfs: expand the role of quiesce in consistent backups

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
Fixes: https://tracker.ceph.com/issues/65881
(cherry picked from commit 34ec2a4c6a065028d593b1e959600a3ce87541a8)

15 months agoMerge pull request #57310 from idryomov/wip-65624-squid
Ilya Dryomov [Fri, 10 May 2024 10:35:11 +0000 (12:35 +0200)]
Merge pull request #57310 from idryomov/wip-65624-squid

squid: pybind/rbd: expose CLONE_FORMAT and FLATTEN image options

Reviewed-by: Ramana Raja <rraja@redhat.com>
15 months agoMerge pull request #57307 from idryomov/wip-65487-squid
Ilya Dryomov [Fri, 10 May 2024 10:35:00 +0000 (12:35 +0200)]
Merge pull request #57307 from idryomov/wip-65487-squid

squid: rbd-mirror: clean up stale pool replayers and callouts better

Reviewed-by: Ramana Raja <rraja@redhat.com>
15 months agoMerge pull request #57031 from idryomov/wip-65481-squid
Ilya Dryomov [Fri, 10 May 2024 10:34:46 +0000 (12:34 +0200)]
Merge pull request #57031 from idryomov/wip-65481-squid

squid: qa: fix krbd_msgr_segments and krbd_rxbounce failing on 8.stream

Reviewed-by: Ramana Raja <rraja@redhat.com>
15 months agoMerge pull request #57370 from weirdwiz/wip-65879-squid
Avan [Fri, 10 May 2024 09:36:49 +0000 (15:06 +0530)]
Merge pull request #57370 from weirdwiz/wip-65879-squid

squid: exporter: handle exceptions gracefully

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
15 months agoexporter: handle exceptions gracefully 57370/head
Divyansh Kamboj [Tue, 30 Apr 2024 07:44:10 +0000 (13:14 +0530)]
exporter: handle exceptions gracefully

ceph exporter crahes, and fails to handle exceptions in
dump_asok_metrics(). add try and catch blocks to handle the exceptions gracefully.

Signed-off-by: Divyansh Kamboj <dkamboj@redhat.com>
(cherry picked from commit e442ee479987f339afdc333582b6b64c66ba6846)

15 months agoMerge pull request #57303 from ronen-fr/wip-rf-reinstate-q-squid
Laura Flores [Wed, 8 May 2024 23:05:43 +0000 (18:05 -0500)]
Merge pull request #57303 from ronen-fr/wip-rf-reinstate-q-squid

squid:osd/scrub: reinstate scrub reservation queuing

15 months agodoc/radosgw: update Squid S3 action list 57364/head
Zac Dover [Wed, 8 May 2024 22:10:25 +0000 (08:10 +1000)]
doc/radosgw: update Squid S3 action list

Update the list of S3 actions supported in the Squid release of Ceph.

Note: The list of S3 actions supported in Squid is not the list of S3
actions supported in Reef or in Quincy.

Signed-off-by: Zac Dover <zac.dover@proton.me>
15 months agoMerge pull request #57092 from idryomov/wip-65573-squid
Ilya Dryomov [Wed, 8 May 2024 21:28:50 +0000 (23:28 +0200)]
Merge pull request #57092 from idryomov/wip-65573-squid

squid: librbd: make group and group snapshot IDs more random

Reviewed-by: Mykola Golub <mgolub@suse.com>
15 months agoMerge pull request #57242 from cbodley/wip-65767-squid
Casey Bodley [Wed, 8 May 2024 20:23:20 +0000 (21:23 +0100)]
Merge pull request #57242 from cbodley/wip-65767-squid

squid: rgw/multisite-notification: retry storing bucket notification attrs for ECANCELED(ConcurrentModification) errors.

Reviewed-by: Krunal Chheda <kchheda3@bloomberg.net>
15 months agoMerge pull request #57006 from rzarzynski/wip-65185-squid
Laura Flores [Wed, 8 May 2024 17:52:34 +0000 (12:52 -0500)]
Merge pull request #57006 from rzarzynski/wip-65185-squid

squid: osd/PGBackend::be_scan_list: only call stat, getattrs once per object

15 months agoMerge pull request #57300 from cbodley/wip-65821-squid
Casey Bodley [Wed, 8 May 2024 16:47:08 +0000 (17:47 +0100)]
Merge pull request #57300 from cbodley/wip-65821-squid

squid: rgw: fix CompleteMultipart error handling regression

Reviewed-by: Ali Masarwa <amasarwa@redhat.com>
15 months agoMerge pull request #57104 from soumyakoduri/wip-skoduri-squid
Casey Bodley [Wed, 8 May 2024 15:13:35 +0000 (16:13 +0100)]
Merge pull request #57104 from soumyakoduri/wip-skoduri-squid

[squid] rgw/lc: advance head if the current entry doesn't exist

Reviewed-by: Casey Bodley <cbodley@redhat.com>
15 months agoMerge pull request #57231 from galsalomon66/wip-65244-squid
Casey Bodley [Wed, 8 May 2024 15:13:23 +0000 (16:13 +0100)]
Merge pull request #57231 from galsalomon66/wip-65244-squid

squid: rgw/s3select: s3select response handler refactor

Reviewed-by: Casey Bodley <cbodley@redhat.com>
15 months agoMerge pull request #57254 from aaSharma14/wip-65790-squid
Aashish Sharma [Wed, 8 May 2024 09:24:47 +0000 (14:54 +0530)]
Merge pull request #57254 from aaSharma14/wip-65790-squid

squid: mgr/dashboard: add prometheus federation config for multi-cluster monitoring

Reviewed-by: Nizamudeen A <nia@redhat.com>
15 months agotest/crimson/sesastore/test_block: add constructor to construct 57350/head
Xuehan Xu [Fri, 15 Mar 2024 11:48:33 +0000 (19:48 +0800)]
test/crimson/sesastore/test_block: add constructor to construct
non-fully-loaded TestBlocks

Before this commit, all TestBlocks are fully-loaded whether they do have
data or not.

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit 61d7f8821fa06cf48911230228687abdf747dba2)

15 months agocrimson/os/seastore: fix use after free error 57349/head
Zhang Song [Tue, 26 Mar 2024 06:15:35 +0000 (14:15 +0800)]
crimson/os/seastore: fix use after free error

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
(cherry picked from commit 1b5ca67ef8e9de48221d52b6e46f89aad1a731eb)

15 months agocrimson/os/pg_map: allow multiple shards to create new pg mappings at the same time 57348/head
Yingxin Cheng [Wed, 20 Mar 2024 07:25:33 +0000 (15:25 +0800)]
crimson/os/pg_map: allow multiple shards to create new pg mappings at the same time

Also:
* Better detections in case of inconsistent racings, such as:
  * The new mapping is creating towards different cores.
  * Mapping creation is racing with its eracing.
  * Multiple shards are erasing the same mapping at the same time.
* Add more logs to debug in case of unexpected issues.

Fixes: https://tracker.ceph.com/issues/64934
Fixes: https://tracker.ceph.com/issues/64009
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
(cherry picked from commit 2422817b7578da44090ea5e2f540c505bbce1412)

15 months agocrimson/osd/shard_services: fix log
Yingxin Cheng [Wed, 20 Mar 2024 07:20:57 +0000 (15:20 +0800)]
crimson/osd/shard_services: fix log

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
(cherry picked from commit de2e66723586d2e9c5fd838e5199547b0d2d5f4f)

15 months agocrimson/osd/pg_map/PGShardMapping: cleanups
Yingxin Cheng [Tue, 19 Mar 2024 03:05:11 +0000 (11:05 +0800)]
crimson/osd/pg_map/PGShardMapping: cleanups

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
(cherry picked from commit b35ed71e23ac5eabfed1c47361ee499bab77cd14)

15 months agocrimson/osd/osd.h: declare osdmap after OSDSingletonState 57346/head
Samuel Just [Mon, 18 Mar 2024 23:26:36 +0000 (23:26 +0000)]
crimson/osd/osd.h: declare osdmap after OSDSingletonState

Otherwise, destructing the osdmap cached_map_t tries to manipulate
OSDSingletonState::osdmaps after it has already been destroyed.

Fixes: https://tracker.ceph.com/issues/64935
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit b623594c44df1c7d75fa7a8d4e8b90f8829d249f)

15 months agocrimson/os/seastore: cache metadata during trimming to prevent from disk read 57345/head
myoungwon oh [Mon, 18 Mar 2024 06:48:07 +0000 (06:48 +0000)]
crimson/os/seastore: cache metadata during trimming to prevent from disk read

I encountered continous disk reads during trimming even though there are sufficient
cache available, in 4K random write test with RBM (RBD).
This is because metadata is note cached if its source is background transaction
within touch_extent(). So, seastore, including the trimming process,  needs to
constantly retrieve metadata (e.g., BACKREF_LEAF).

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
(cherry picked from commit 7f253ce5aa98018b5b209fd6e062078d151ad567)

15 months agocrimson/common: add coroutine integration for crimson futures 57344/head
Samuel Just [Wed, 31 Jan 2024 23:34:34 +0000 (15:34 -0800)]
crimson/common: add coroutine integration for crimson futures

Adds coroutine machinery for crimson errorated and interruptible futures.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 1126ec3cf6285abbf6a875ab27daff397f09220b)

15 months agocrimson/common: expose unsafe_get0 for interruptible errorated futures
Samuel Just [Sun, 4 Feb 2024 06:47:04 +0000 (22:47 -0800)]
crimson/common: expose unsafe_get0 for interruptible errorated futures

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 11698a6da9d518329003a90777b0ef31454d2bfd)

15 months agocrimson/common: add interruptible_errorator::make_interruptible
Samuel Just [Sun, 4 Feb 2024 06:46:34 +0000 (22:46 -0800)]
crimson/common: add interruptible_errorator::make_interruptible

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 52800dcee08164f9d17d9d293e01cce173670f63)

15 months agocrimson/.../errorator: expose get_exception
Samuel Just [Thu, 8 Feb 2024 01:25:38 +0000 (17:25 -0800)]
crimson/.../errorator: expose get_exception

Useful for intentionally ignoring an exceptional future.  Otherwise,
seastar warns.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 0afd9fa4326d4e7fe5966347a37623379072fd98)

15 months agocrimson/common/interruptible_future: add interruptor::future convenience declaration
Samuel Just [Wed, 31 Jan 2024 23:33:33 +0000 (15:33 -0800)]
crimson/common/interruptible_future: add interruptor::future convenience declaration

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 1f152bf9861dd04ace70a62ba8a82c33136b5fb0)

15 months agocrimson/common: expose set_coroutine for crimson future specializations/wrappers
Samuel Just [Wed, 31 Jan 2024 23:32:30 +0000 (15:32 -0800)]
crimson/common: expose set_coroutine for crimson future specializations/wrappers

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 53c4acde1d6b00ed703a71c3137bee92df4be46a)

15 months agotest/crimson/test_errorator: move tests into TEST_F declarations
Samuel Just [Thu, 16 Mar 2023 20:22:22 +0000 (20:22 +0000)]
test/crimson/test_errorator: move tests into TEST_F declarations

Slightly easier to read this way.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 3f377f013c690d9c17685967f1ebc4dc2adbf838)

15 months agocrimson/.../ops_executor: no need to warn in normal pg op execution path
Samuel Just [Tue, 6 Feb 2024 04:45:04 +0000 (20:45 -0800)]
crimson/.../ops_executor: no need to warn in normal pg op execution path

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit e72f1779f4505616253cba7c41c10aa2b772adaa)

15 months agocrimson/.../errorator: simplify maybe_handle_error_t::handle()
Samuel Just [Wed, 7 Feb 2024 01:19:43 +0000 (17:19 -0800)]
crimson/.../errorator: simplify maybe_handle_error_t::handle()

Using FuturatorT::invoke covers both of the last two cases and also
correctly deals with handlers that return interrupible futures.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 979c1916507092591469f8ea3b0a0440f2b88066)

15 months agodoc/mgr: edit "Overview" in dashboard.rst 57335/head
Zac Dover [Mon, 6 May 2024 15:16:51 +0000 (01:16 +1000)]
doc/mgr: edit "Overview" in dashboard.rst

Edit and update the "Overview" section in doc/mgr/dashboard.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 6cf06c60f7c3f87707c7dc47cde2346cec7cf00f)

15 months agocrimson/os/seastore: adjust SeaStore::_omap_set_kvs() params 57326/head
Xuehan Xu [Fri, 1 Mar 2024 02:32:32 +0000 (10:32 +0800)]
crimson/os/seastore: adjust SeaStore::_omap_set_kvs() params

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit 9852f4d97e7f4ff6a83b90bf7fa5a15b59e4342a)

15 months agocrimson/os/seastore/collection_manager: allow empty-delta-buffer 57322/head
Xuehan Xu [Wed, 6 Mar 2024 05:49:43 +0000 (13:49 +0800)]
crimson/os/seastore/collection_manager: allow empty-delta-buffer
collection nodes

Fixes: https://tracker.ceph.com/issues/64728
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit e8b9ab73f409d5d9a51100f5dd9922dfcab5dc0e)

15 months agocrimson/os/seastore: allow to remap the dirty extent 57315/head
myoungwon oh [Wed, 6 Mar 2024 00:46:37 +0000 (00:46 +0000)]
crimson/os/seastore: allow to remap the dirty extent

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
(cherry picked from commit 728e564f6172d45310646b690c7c259a32520b49)

15 months agoosd/SnapMapper: Crimson - fix OSDriver::get_next 57314/head
Matan Breizman [Mon, 12 Feb 2024 09:26:36 +0000 (09:26 +0000)]
osd/SnapMapper: Crimson - fix OSDriver::get_next

There are other omap_keys that we may return which are not
SnapMapper entries (_biginfo, _epoch, _fastinfo etc.).

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit 8fd9b037f5802ec8dab4d69f11435e4217dff76a)

15 months agoosd/SnapMapper: is_mapping() to be public
Matan Breizman [Mon, 12 Feb 2024 09:32:46 +0000 (09:32 +0000)]
osd/SnapMapper: is_mapping() to be public

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit d489704acdc3e6abaa337245de8ea312cefe6516)

15 months agoosd/SnapMapper: Crimson - remove LINE log lines
Matan Breizman [Mon, 12 Feb 2024 09:24:13 +0000 (09:24 +0000)]
osd/SnapMapper: Crimson - remove LINE log lines

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit 7a9cc2dcce50fb1f4c04421b53c83030f3087f85)

15 months agoosd/SnapManager: fix std::string constructed from 0 57312/head
Zhang Song [Mon, 4 Mar 2024 03:15:52 +0000 (11:15 +0800)]
osd/SnapManager: fix std::string constructed from 0

Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
(cherry picked from commit 4c62ae3dccabfd96a50472b05911b4f9cd4743ab)

15 months agocrimson/os/seastore: make less verbose log when testing performance on RBM 57311/head
myoungwon oh [Tue, 5 Mar 2024 06:53:52 +0000 (06:53 +0000)]
crimson/os/seastore: make less verbose log when testing performance on RBM

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
(cherry picked from commit 339a635503933e24cdd6e723b862a78052aed4fa)

15 months agotest/pybind: drop unnecessary data_pool=None arguments 57310/head
Ilya Dryomov [Wed, 1 May 2024 13:49:54 +0000 (15:49 +0200)]
test/pybind: drop unnecessary data_pool=None arguments

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 555601796000d83a37324c9f9b065d9c3aa48b8e)

15 months agopybind/rbd: adjust error message in deep_copy()
Ilya Dryomov [Wed, 1 May 2024 13:49:51 +0000 (15:49 +0200)]
pybind/rbd: adjust error message in deep_copy()

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 5986217c79f2fe01e21f6910affa896bd2516f02)

15 months agopybind/rbd: expose RBD_IMAGE_OPTION_FLATTEN option
Ilya Dryomov [Wed, 1 May 2024 13:49:47 +0000 (15:49 +0200)]
pybind/rbd: expose RBD_IMAGE_OPTION_FLATTEN option

It takes effect with deep_copy() and migration_prepare().

Fixes: https://tracker.ceph.com/issues/65624
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 39f207ff65a4eb10f67a2d4a8a4af1bad0d2e412)

15 months agopybind/rbd: expose RBD_IMAGE_OPTION_CLONE_FORMAT option
Ilya Dryomov [Sun, 28 Apr 2024 17:19:22 +0000 (19:19 +0200)]
pybind/rbd: expose RBD_IMAGE_OPTION_CLONE_FORMAT option

It takes effect with clone(), deep_copy() and migration_prepare().

Fixes: https://tracker.ceph.com/issues/65624
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 39fafe74625423e5d23a5f1bbd74e58ef9055573)

15 months agoqa/workunits/rbd: wait for replaying status in bootstrap tests 57307/head
Ilya Dryomov [Mon, 6 May 2024 06:16:01 +0000 (08:16 +0200)]
qa/workunits/rbd: wait for replaying status in bootstrap tests

wait_for_replay_complete() doesn't wait for image status to get
updated.  This didn't matter previously because these tests are run on
two different pools and nothing else was following.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit d1d848276f0a33b20482321088c8c7470a84d0b3)

15 months agorbd-mirror: remove callout when destroying pool replayer
Ilya Dryomov [Wed, 24 Apr 2024 10:45:27 +0000 (12:45 +0200)]
rbd-mirror: remove callout when destroying pool replayer

If a pool replayer is removed in an error state (e.g. after failing to
connect to the remote cluster), its callout should be removed as well.
Otherwise, the error would persist causing "daemon health: ERROR"
status to be reported even after a new pool replayer is created and
started successfully.

Fixes: https://tracker.ceph.com/issues/65487
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit b7e79642d53c1802ae1202c3f013677fcfd26b1b)

15 months agorbd-mirror: shut down and remove pool replayer if peer changes
Ilya Dryomov [Wed, 24 Apr 2024 12:42:38 +0000 (14:42 +0200)]
rbd-mirror: shut down and remove pool replayer if peer changes

The code in Mirror::update_pool_replayers() responsible for shutting
down and removing stale pool replayers kicks in only in case the peer
is removed, but not if the peer changes.  However, the code responsible
for (re)starting pool replayers in the same method _does_ create and
start a new pool replayer in that case.  As a result, we can end up
with nearly identical pool replayers running at the same time, hogging
OS resources and confusing instance_id tracking logic and mirror status
reporting at the very least.

The root cause is that PeerSpec is matched normally (i.e. based on all
fields) when it comes to m_pool_replayers, and based only on UUID when
it comes to pool_peers.  This was missed in commit 5463e1a1e1b7
("rbd-mirror: extract optional peer mon_host/key values from MON").

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit def93cb0ad93e3e27d7c4534f68c95ef922ab750)

15 months agoMerge pull request #57285 from Matan-B/wip-55699-squid
Rongqi Sun [Tue, 7 May 2024 01:01:53 +0000 (18:01 -0700)]
Merge pull request #57285 from Matan-B/wip-55699-squid

squid: doc/crimson: cleanup duplicate seastore description

15 months agosquid:osd/scrub: reinstate scrub reservation queuing 57303/head
Ronen Friedman [Mon, 6 May 2024 19:43:41 +0000 (22:43 +0300)]
squid:osd/scrub: reinstate scrub reservation queuing

Re-enabling the Reserver-based scrub queuing (undoing
https://github.com/ceph/ceph/pull/56750), as all known issues
related to the reservation queuing have been fixed and back-ported.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
15 months agorgw: move publish_complete() back to RGWCompleteMultipart::execute() 57300/head
Casey Bodley [Fri, 3 May 2024 19:43:39 +0000 (15:43 -0400)]
rgw: move publish_complete() back to RGWCompleteMultipart::execute()

move publish_complete() and meta_obj->delete_object() back to execute()
so they only run on success. this allows several member variables to
move back to execute()'s stack as well

Fixes: https://tracker.ceph.com/issues/65746
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit ebb37c7bb3aee4663220054c6516164bf046fa8c)

15 months agorgw: CompleteMultipart uses s->object for Notification
Casey Bodley [Fri, 3 May 2024 19:29:00 +0000 (15:29 -0400)]
rgw: CompleteMultipart uses s->object for Notification

get_notification() should be associated with the target object
s->object. the meta_obj has the wrong object name, so required passing
s->object->get_name() as an extra argument

importantly, Notification no longer depends on the lifetime of meta_obj
to avoid a dangling pointer, while the lifetime of s->object is guaranteed

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 91dc7f3be945dccd8f59e070e9bc43a2a5df12db)

15 months agorgw: CompleteMultipart uses s->object instead of target_obj
Casey Bodley [Fri, 3 May 2024 19:17:48 +0000 (15:17 -0400)]
rgw: CompleteMultipart uses s->object instead of target_obj

most requests operate directly on s->object. there's no reason to
allocate a separate target_obj for the same purpose

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit d09b8ab2e077ceb6a0c6dfb99ce1b45d63a28be4)

15 months agodoc/mgr: edit "Resolve IP address to hostname before redirect" 57295/head
Zac Dover [Sun, 5 May 2024 19:12:55 +0000 (05:12 +1000)]
doc/mgr: edit "Resolve IP address to hostname before redirect"

Edit the section "Resolve IP address to hostname before redirect" in
doc/mgr/dashboard.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit e0838daa9bc1d549a8da2b21608153c77b15455a)

15 months agoMerge pull request #56947 from adk3798/wip-65539-squid
Aashish Sharma [Mon, 6 May 2024 13:45:50 +0000 (19:15 +0530)]
Merge pull request #56947 from adk3798/wip-65539-squid

squid: ceph-mixin: Update mixin to include alerts for the nvmeof gateway(s)

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
15 months agocrimson/os/seastore: also remove xattrs when removing onodes 57289/head
Xuehan Xu [Tue, 27 Feb 2024 08:27:58 +0000 (16:27 +0800)]
crimson/os/seastore: also remove xattrs when removing onodes

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit 8cc25049a897ebafccd2b9bded6d09300575ef2c)

15 months agocrimson/os/seastore: get_attrs should return all attrs
Xuehan Xu [Tue, 27 Feb 2024 08:18:57 +0000 (16:18 +0800)]
crimson/os/seastore: get_attrs should return all attrs

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit abdae14dd017dc2fce6e6c2ed014d7c024864dfc)

15 months agocrimson/os/seastore: attr related debug outputs
Xuehan Xu [Tue, 27 Feb 2024 08:06:02 +0000 (16:06 +0800)]
crimson/os/seastore: attr related debug outputs

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit c841876cb1ec8cf576083cf2e6c076924e9daf4d)

15 months agocrimson/os/seastore: fix wrong-positioned asserts 57288/head
Xuehan Xu [Thu, 22 Feb 2024 09:03:43 +0000 (17:03 +0800)]
crimson/os/seastore: fix wrong-positioned asserts

Fixes: https://tracker.ceph.com/issues/64535
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit b469cbb507675108cecfcfd9da3bd5144deabcf9)

15 months agocrimson/osd/shard_services: make sure that only up/acting members can 57286/head
Xuehan Xu [Thu, 1 Feb 2024 05:18:38 +0000 (13:18 +0800)]
crimson/osd/shard_services: make sure that only up/acting members can
create pgs

Fixes: https://tracker.ceph.com/issues/64282
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit ddac5d1cb85f182e5984929b667f4dc56ea97984)

15 months agocrimson/osd: correct variable naming
Xuehan Xu [Thu, 1 Feb 2024 04:55:44 +0000 (12:55 +0800)]
crimson/osd: correct variable naming

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
(cherry picked from commit 7000cbf82f40e0997c815a35a3a53f32e1afcef1)

15 months agodoc/crimson: cleanup duplicate seastore description 57285/head
Rongqi Sun [Thu, 22 Feb 2024 02:41:43 +0000 (10:41 +0800)]
doc/crimson: cleanup duplicate seastore description

Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
(cherry picked from commit 8d766c57173cf6bdea0d8fcfa8fa3c1b61fd10ef)

15 months agocommon/buffer_seastar: move to crimson/crimson/buffer_seastar 57283/head
Matan Breizman [Mon, 19 Feb 2024 16:11:53 +0000 (16:11 +0000)]
common/buffer_seastar: move to crimson/crimson/buffer_seastar

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit c8d8f739f8c3d0b260547e9e788ae2e191b3f446)

15 months agocommon/buffer_seastar: fix alien threads memory
Matan Breizman [Mon, 19 Feb 2024 12:24:52 +0000 (12:24 +0000)]
common/buffer_seastar: fix alien threads memory

The underlying raw_seastar_foreign_ptr::ptr is allocated from seastar.
This ptr is wrapped with seastar::foreign_ptr:
```
/// \c foreign_ptr<> wraps smart pointers -- \ref seastar::shared_ptr<>,
/// or similar, and remembers on what core this happened.
/// When the \c foreign_ptr<> object is destroyed, it sends a message to
/// the original core so that the wrapped object can be safely destroyed.
```

The issue is that once the pointer is de-allocated from an alien thread
it is unable to send a message to the original core.
Fix this issue by making use of seastar::alien integration with non-seastar applications.
In case ~raw_seastar_foreign_ptr() will be called from an alien thread, we will submit *and wait*
for the memory to be released from the origin core.

Fixes: https://tracker.ceph.com/issues/64086
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit c714c3c4f92994413e34a5900492c8987c85669e)

15 months agocrimson/osd/main: enable multicore client msgr
Matan Breizman [Mon, 19 Feb 2024 12:22:16 +0000 (12:22 +0000)]
crimson/osd/main: enable multicore client msgr

Taken from: f78e99c05943ea336a3fe2cc1568fea81e6a9855

Co-authored-by: Yingxin Cheng <yingxin.cheng@intel.com>
Co-authored-by: Chunmei Liu <chunmei.liu@intel.com>
Co-authored-by: Xinyu Huang <xinyu.huang@intel.com>
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit 68400ff5450db1fd2c582ef016c9859829dbdf89)

15 months agocrimson/.../shard_services.cc: pass by reference from do_with 57281/head
Samuel Just [Wed, 21 Feb 2024 00:43:16 +0000 (16:43 -0800)]
crimson/.../shard_services.cc: pass by reference from do_with

Capturing the value passed by do_with by value causes later captures
by reference to be invalid past the lifetime of the lambda frame.

Fixes: https://tracker.ceph.com/issues/64513
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit e03495dca75be80f642453782ab7793c3c72712e)