]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 months agomgr/cephadm/nvmeof: Add OMAP read lock parameters to NVMEoF configuration 62753/head
Gil Bregman [Wed, 9 Apr 2025 19:08:49 +0000 (22:08 +0300)]
mgr/cephadm/nvmeof: Add OMAP read lock parameters to NVMEoF configuration

Fixes https://tracker.ceph.com/issues/70861

Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
3 months agoMerge pull request #57206 from clwluvw/restrict-public-buckets
Casey Bodley [Wed, 9 Apr 2025 17:47:45 +0000 (13:47 -0400)]
Merge pull request #57206 from clwluvw/restrict-public-buckets

rgw: implement RestrictPublicBuckets from PublicAccessBlock

Reviewed-by: Adam Emerson <aemerson@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #62538 from cbodley/wip-rgw-control-watch-par
Casey Bodley [Wed, 9 Apr 2025 17:03:19 +0000 (13:03 -0400)]
Merge pull request #62538 from cbodley/wip-rgw-control-watch-par

rgw: send concurrent watch/unwatch operations

Reviewed-by: Adam Emerson <aemerson@redhat.com>
3 months agoMerge pull request #62159 from cbodley/wip-qa-23264
Casey Bodley [Wed, 9 Apr 2025 17:03:04 +0000 (13:03 -0400)]
Merge pull request #62159 from cbodley/wip-qa-23264

qa/rgw: use storage classes for rgw/crypt

Reviewed-by: Adam Emerson <aemerson@redhat.com>
3 months agoMerge pull request #62706 from cbodley/wip-70729
Casey Bodley [Wed, 9 Apr 2025 17:02:39 +0000 (13:02 -0400)]
Merge pull request #62706 from cbodley/wip-70729

test/rgw/multisite: fix parsing of 'topic list' output

Reviewed-by: Ali Masarwa <amasarwa@redhat.com>
3 months agoMerge pull request #62686 from Cybertinus/main
Anthony D'Atri [Wed, 9 Apr 2025 14:14:01 +0000 (10:14 -0400)]
Merge pull request #62686 from Cybertinus/main

documentation:remove deprecated usage apt-key

3 months agodocumentation: Update get-packages.rst 62686/head
Cybertinus [Sat, 5 Apr 2025 10:54:26 +0000 (12:54 +0200)]
documentation: Update get-packages.rst

The usage of apt-key is deprecated, thus updated the documentation to reference the new way of installing a repo key.

Signed-off-by: Cybertinus <github@cybertinus.nl>
3 months agoMerge pull request #62727 from idryomov/wip-70831
Ilya Dryomov [Wed, 9 Apr 2025 10:58:44 +0000 (12:58 +0200)]
Merge pull request #62727 from idryomov/wip-70831

test/librbd/test_notify.py: force line-buffered output

Reviewed-by: Mykola Golub <mykola.golub@clyso.com>
Reviewed-by: Vinay Bhaskar Varada <vvarada@redhat.com>
3 months agoMerge pull request #57448 from aclamk/wip-aclamk-bs-recompression-segmented-data
Adam Kupczyk [Wed, 9 Apr 2025 09:10:23 +0000 (11:10 +0200)]
Merge pull request #57448 from aclamk/wip-aclamk-bs-recompression-segmented-data

os/bluestore: Recompression, part 3. Segmented onode.

3 months agoMerge pull request #62224 from aclamk/wip-aclamk-pere-wal-fsync
Adam Kupczyk [Wed, 9 Apr 2025 09:09:57 +0000 (11:09 +0200)]
Merge pull request #62224 from aclamk/wip-aclamk-pere-wal-fsync

os/bluestore: Fast WAL for RocksDB

3 months agoMerge pull request #62588 from aclamk/wip-aclamk-bluefs-remove-truncate
Adam Kupczyk [Wed, 9 Apr 2025 09:09:34 +0000 (11:09 +0200)]
Merge pull request #62588 from aclamk/wip-aclamk-bluefs-remove-truncate

os/bluestore: Fix race in BlueFS truncate / remove

3 months agoMerge pull request #61909 from bazaah/chore/deprecated-iterator-impl
Laura Flores [Tue, 8 Apr 2025 20:07:08 +0000 (15:07 -0500)]
Merge pull request #61909 from bazaah/chore/deprecated-iterator-impl

include,dpdk: fix two usages of std::iterator (deprecated)

3 months agoqa/rgw: use storage classes for rgw/crypt 62159/head
Casey Bodley [Thu, 6 Mar 2025 18:46:24 +0000 (13:46 -0500)]
qa/rgw: use storage classes for rgw/crypt

enable compression on one storage class so we can test copy to/from
compressed objects

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agoqa/rgw: storage classes specify extra args in yaml
Casey Bodley [Wed, 5 Mar 2025 21:59:36 +0000 (16:59 -0500)]
qa/rgw: storage classes specify extra args in yaml

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #60670 from cbodley/wip-cls-rgw-shard-io
Casey Bodley [Tue, 8 Apr 2025 19:46:14 +0000 (15:46 -0400)]
Merge pull request #60670 from cbodley/wip-cls-rgw-shard-io

rgw/rados: add async algorithms for concurrent index operations

Reviewed-by: Adam Emerson <aemerson@redhat.com>
3 months agoMerge pull request #62720 from tchaikov/wip-kefu-mailmap
Casey Bodley [Tue, 8 Apr 2025 19:35:13 +0000 (15:35 -0400)]
Merge pull request #62720 from tchaikov/wip-kefu-mailmap

mailmap: update affiliation for Kefu Chai

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #62716 from afreen23/wip-fix-empty-ver
afreen23 [Tue, 8 Apr 2025 16:46:20 +0000 (22:16 +0530)]
Merge pull request #62716 from afreen23/wip-fix-empty-ver

mgr/dashboard: Fix empty ceph version in GET api/hosts

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
3 months agocls/rgw: remove unused CLSRGWConcurrentIO and subclasses 60670/head
Casey Bodley [Thu, 7 Nov 2024 23:31:29 +0000 (18:31 -0500)]
cls/rgw: remove unused CLSRGWConcurrentIO and subclasses

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agoos/bluestore/bluefs: Fix race condition between truncate() and unlink() 62588/head
Adam Kupczyk [Tue, 1 Apr 2025 14:01:23 +0000 (14:01 +0000)]
os/bluestore/bluefs: Fix race condition between truncate() and unlink()

It was possible for unlink() to interrupt ongoing truncate().
As the result, unlink() finishes properly, but truncate() is not aware
of it and does:
1) updates file that is already removed
2) releases same allocations again

Now fixed by checking if file is deleted under FILE lock.

https://tracker.ceph.com/issues/70747

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
3 months agorgw/rados: index operations use async_reads/writes()
Casey Bodley [Thu, 7 Nov 2024 21:10:15 +0000 (16:10 -0500)]
rgw/rados: index operations use async_reads/writes()

replace the classes derived from CLSRGWConcurrentIO with classes
derived from Reader/Writer/RevertibleWriter and use the async algorithms

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agorgw/rados: add concurrent io algorithms for sharded data
Casey Bodley [Thu, 7 Nov 2024 20:36:45 +0000 (15:36 -0500)]
rgw/rados: add concurrent io algorithms for sharded data

cls/rgw provides the base class CLSRGWConcurrentIO as a swiss army knife
for bucket index operations that visit every shard object. while it uses
asynchronous librados requests to perform the io, it blocks on a
condition variable when waiting for the AioCompletions.

for use in coroutines, we need a version of this that suspends instead
of blocking. and to support both stackful and stackless coroutines, we
want a fully-generic async inferface templated on CompletionToken.

while the CLSRGWConcurrentIO algorithm works for all current uses
(reads and writes, with/without retries, with/without cleanup), i chose
to break this into 3 algorithms with well-defined semantics:

1. reads: to produce a successful result, all shard operations must
   succeed. so any shard's failure causes the rest to be cancelled or
   skipped. supports retries for ListBucket (RGWBIAdvanceAndRetryError).
2. writes: even if some shards fail, we still want to visit every shard
   before returning the error. supports retries for log trimming
   operations (repeat until ENODATA).
3. revertible writes: similar to reads, requires all shard operations to
   succeed. on any failure, the side effects of any successful writes
   must be reverted before returning. only used by IndexInit (any created
   shards are removed on failure).

each algorithm provides a pure virtual base class that must be
implemented for each type of operation, similar to how existing
operations inherit from CLSRGWConcurrentIO.

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agorgw: pass optional_yield to all index ops
Casey Bodley [Thu, 7 Nov 2024 21:09:11 +0000 (16:09 -0500)]
rgw: pass optional_yield to all index ops

prepare for coroutine support by making the yield context available to
all index ops

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #62571 from clwluvw/trim-log-cleanup
J. Eric Ivancich [Tue, 8 Apr 2025 13:52:07 +0000 (09:52 -0400)]
Merge pull request #62571 from clwluvw/trim-log-cleanup

rgw: BucketTrimShardCollectCR expect ENODATA as empty

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #61966 from mkogan1/wip-qat-logs-crypto
J. Eric Ivancich [Tue, 8 Apr 2025 13:51:52 +0000 (09:51 -0400)]
Merge pull request #61966 from mkogan1/wip-qat-logs-crypto

rgw: qat: improve QAT logs when HW is miss-configured for QAT encryption

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agomailmap: update affiliation for Kefu Chai 62720/head
Kefu Chai [Tue, 8 Apr 2025 02:52:01 +0000 (10:52 +0800)]
mailmap: update affiliation for Kefu Chai

he's not affiliated to Red Hat anymore, so map his contribution to
his private email address.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 months agomgr/dashboard: Fix empty ceph version in GET api/hosts 62716/head
Afreen Misbah [Mon, 7 Apr 2025 19:00:08 +0000 (00:30 +0530)]
mgr/dashboard: Fix empty ceph version in GET api/hosts

Fixes https://tracker.ceph.com/issues/70821

Due to the pagination the host list is being fetched from orchestrator which caused a regression as via orchestrator list ceph version is always marked empty.
Caused by https://github.com/ceph/ceph/pull/52154

Also fixed tests , as the new version addition causing whole json object mock to fail in tests

Signed-off-by: Afreen Misbah <afreen@ibm.com>
3 months agotest/librbd/test_notify.py: drop RBD_DISABLE_UPDATE_FEATURES 62727/head
Ilya Dryomov [Tue, 8 Apr 2025 11:53:23 +0000 (13:53 +0200)]
test/librbd/test_notify.py: drop RBD_DISABLE_UPDATE_FEATURES

This was put in place in commit 9c0b239d70cd ("qa/upgrade:
conditionally disable update_features tests") to paper over a backwards
compatibility issue that arose from commit 01ff1530544c ("librbd: make
all maintenance op notifications async").  It's not needed in squid or
later because upgrades from octopus are tested only until reef.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 months agotest/librbd/test_notify.py: force line-buffered output
Ilya Dryomov [Mon, 7 Apr 2025 10:40:50 +0000 (12:40 +0200)]
test/librbd/test_notify.py: force line-buffered output

"master" and "slave" invocations are intended to run in parallel and
coordinate between themselves.  Ensure that their respective output is
properly timestamped and ordered in teuthology.log file.

Fixes: https://tracker.ceph.com/issues/70831
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 months agoMerge pull request #62635 from Matan-B/wip-matanb-crimson-ignore-abort
Matan Breizman [Tue, 8 Apr 2025 08:17:12 +0000 (11:17 +0300)]
Merge pull request #62635 from Matan-B/wip-matanb-crimson-ignore-abort

test/crimson/test_errorator: showcase assert_all/handle/pass_furhter

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
3 months agoMerge pull request #62691 from Matan-B/wip-matanb-crimson-cronjobs
Matan Breizman [Tue, 8 Apr 2025 07:27:11 +0000 (10:27 +0300)]
Merge pull request #62691 from Matan-B/wip-matanb-crimson-cronjobs

qa/crontab: Update Crimson's Cron Jobs

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
3 months agoMerge pull request #62535 from Matan-B/wip-matanb-crimson-replicated-missing
Matan Breizman [Tue, 8 Apr 2025 07:22:56 +0000 (10:22 +0300)]
Merge pull request #62535 from Matan-B/wip-matanb-crimson-replicated-missing

osd/../client_request: Fix clone replicated reads

Reviewed-by: Samuel Just <sjust@redhat.com>
3 months agoMerge pull request #62640 from ivancich/wip-admin-robust-rm-obj
J. Eric Ivancich [Tue, 8 Apr 2025 05:14:41 +0000 (01:14 -0400)]
Merge pull request #62640 from ivancich/wip-admin-robust-rm-obj

rgw: add force option to `radosgw-admin object rm ...`

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #62679 from rhcs-dashboard/add-nvmeof-grafana-dashboards
Aashish Sharma [Tue, 8 Apr 2025 04:34:43 +0000 (10:04 +0530)]
Merge pull request #62679 from rhcs-dashboard/add-nvmeof-grafana-dashboards

mgr/dashboard: add nvmeof performance and overview grafana dashboard to Block -> Nvme/TCP tab in dashboard

Reviewed-by: Afreen Misbah <afreen@ibm.com>
3 months agoMerge pull request #62563 from tchaikov/osd-atomic
Kefu Chai [Tue, 8 Apr 2025 02:46:15 +0000 (10:46 +0800)]
Merge pull request #62563 from tchaikov/osd-atomic

osd: replace deprecated atomic_store with std::atomic<shared_ptr>

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 months agoMerge pull request #62038 from phlogistonjohn/jjm-cephadm-infer-69278
Adam King [Mon, 7 Apr 2025 22:30:53 +0000 (18:30 -0400)]
Merge pull request #62038 from phlogistonjohn/jjm-cephadm-infer-69278

cephadm: update and improve container image infer function

Reviewed-by: Adam King <adking@redhat.com>
3 months agoMerge pull request #60890 from rzarzynski/wip-os-fastomapiter-killomapiterator
Radoslaw Zarzynski [Mon, 7 Apr 2025 22:08:38 +0000 (00:08 +0200)]
Merge pull request #60890 from rzarzynski/wip-os-fastomapiter-killomapiterator

osd, os: drop the OmapIterator in favor of omap_iterate. Remove ObjectMap

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
3 months agorgw/rados: remove duplicated RGWRados::cls_bucket_head()
Casey Bodley [Fri, 8 Nov 2024 00:04:53 +0000 (19:04 -0500)]
rgw/rados: remove duplicated RGWRados::cls_bucket_head()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agorgw/rados: move trim_reshard_log() from RGWRados to RGWSI_BucketIndex_RADOS
Casey Bodley [Fri, 15 Nov 2024 21:13:59 +0000 (16:13 -0500)]
rgw/rados: move trim_reshard_log() from RGWRados to RGWSI_BucketIndex_RADOS

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agorgw/rados: move RGWRados::bucket_set_reshard() to RGWSI_BucketIndex_RADOS
Casey Bodley [Fri, 15 Nov 2024 14:17:40 +0000 (09:17 -0500)]
rgw/rados: move RGWRados::bucket_set_reshard() to RGWSI_BucketIndex_RADOS

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agorgw/rados: remove unused RGWReshard::clear_bucket_resharding()
Casey Bodley [Fri, 15 Nov 2024 18:18:00 +0000 (13:18 -0500)]
rgw/rados: remove unused RGWReshard::clear_bucket_resharding()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agotest/rgw/multisite: fix parsing of 'topic list' output 62706/head
Casey Bodley [Mon, 7 Apr 2025 13:26:21 +0000 (09:26 -0400)]
test/rgw/multisite: fix parsing of 'topic list' output

adjust the parsing to match changes from 3f0428a017cdf35b7290cf7836eb4baa4eb0e774

Fixes: https://tracker.ceph.com/issues/70729
Signed-off-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #62596 from rhcs-dashboard/rgw-url
afreen23 [Mon, 7 Apr 2025 11:12:12 +0000 (16:42 +0530)]
Merge pull request #62596 from rhcs-dashboard/rgw-url

mgr/dashboard: introduce dashboard setting to resolve rgw hostname

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
3 months agotest/crimson/test_errorator: showcase assert_all/handle/pass_furhter 62635/head
Matan Breizman [Mon, 7 Apr 2025 09:44:14 +0000 (09:44 +0000)]
test/crimson/test_errorator: showcase assert_all/handle/pass_furhter

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
3 months agoMerge pull request #62649 from Matan-B/wip-matanb-crimson-coroutines-errors
Matan Breizman [Mon, 7 Apr 2025 08:24:24 +0000 (11:24 +0300)]
Merge pull request #62649 from Matan-B/wip-matanb-crimson-coroutines-errors

test/crimson/test_crimson_coroutines: showcase errorator examples

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 months agoMerge pull request #62080 from xxhdx1985126/wip-70180
Matan Breizman [Mon, 7 Apr 2025 08:12:31 +0000 (11:12 +0300)]
Merge pull request #62080 from xxhdx1985126/wip-70180

crimson/osd/pg_recovery: use OperationThrottler to throttle object pushes/pulls

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
3 months agomgr/dashboard: add nvmeof performance and overview grafana dashboards to Block -... 62679/head
Aashish Sharma [Thu, 3 Apr 2025 06:26:19 +0000 (11:56 +0530)]
mgr/dashboard: add nvmeof performance and overview grafana dashboards to Block -> Nvme/TCP tab in dashboard

Fixes: https://tracker.ceph.com/issues/70793
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
3 months agoMerge pull request #62687 from anthonyeleven/acronym
Zac Dover [Sun, 6 Apr 2025 19:55:21 +0000 (05:55 +1000)]
Merge pull request #62687 from anthonyeleven/acronym

doc/cephadm/services: improve rgw.rst and snmp-gateway.rst

Reviewed-by: Zac Dover <zac.dover@proton.me>
3 months agodoc/cephadm/services: improve rgw.rst and snmp-gateway.rst 62687/head
Anthony D'Atri [Sat, 5 Apr 2025 12:22:46 +0000 (08:22 -0400)]
doc/cephadm/services: improve rgw.rst and snmp-gateway.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
3 months agoqa/crontab: Run Crimson main branch twice a week. 62691/head
Matan Breizman [Sun, 6 Apr 2025 10:39:50 +0000 (10:39 +0000)]
qa/crontab: Run Crimson main branch twice a week.

Crimson's suite is reletavly limited and currently is run for
main only (not for prior releases).
Changes to Crimson are more delicate and having more main runs
to compare to might help with (git-)bisecting issues

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
3 months agoqa/crontab: Don't run squid branch for Crimson
Matan Breizman [Sun, 6 Apr 2025 10:36:38 +0000 (10:36 +0000)]
qa/crontab: Don't run squid branch for Crimson

Crimson is only supported in main currently (and T in once relevant).

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
3 months agoMerge pull request #53799 from smanjara/wip-shilpa-cleanup-bi
Shilpa Jagannath [Fri, 4 Apr 2025 19:51:07 +0000 (12:51 -0700)]
Merge pull request #53799 from smanjara/wip-shilpa-cleanup-bi

rgw/multisite: bucket instance cleanup after deletion

3 months agotools: refactor std::tie with structured binding in COT 60890/head
Radoslaw Zarzynski [Wed, 12 Feb 2025 15:10:30 +0000 (15:10 +0000)]
tools: refactor std::tie with structured binding in COT

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd: use std::string::starts_with() in PGLog::read_log_and_missing()
Radoslaw Zarzynski [Wed, 12 Feb 2025 14:50:19 +0000 (14:50 +0000)]
osd: use std::string::starts_with() in PGLog::read_log_and_missing()

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd: switch two complex debugs to fmt::format in SnapMapper::run()
Radoslaw Zarzynski [Wed, 12 Feb 2025 13:12:51 +0000 (13:12 +0000)]
osd: switch two complex debugs to fmt::format in SnapMapper::run()

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoos: drop ObjectMap
Radoslaw Zarzynski [Tue, 10 Dec 2024 15:10:38 +0000 (15:10 +0000)]
os: drop ObjectMap

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoos: drop DBObjectMap
Radoslaw Zarzynski [Tue, 10 Dec 2024 14:05:06 +0000 (14:05 +0000)]
os: drop DBObjectMap

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agotools: drop ceph-osdomap-tool
Radoslaw Zarzynski [Tue, 10 Dec 2024 14:39:39 +0000 (14:39 +0000)]
tools: drop ceph-osdomap-tool

Please don't confuse with osdmaptool.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd, os: drop ObjectStore::get_omap_iterator in favor of omap_iterate
Radoslaw Zarzynski [Fri, 29 Nov 2024 20:34:21 +0000 (20:34 +0000)]
osd, os: drop ObjectStore::get_omap_iterator in favor of omap_iterate

Please note this also drops a BlueStore's perf counter:
`l_bluestore_omap_seek_to_first_lat`.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agotools: switch COT to omap_iterate
Radoslaw Zarzynski [Fri, 29 Nov 2024 20:23:06 +0000 (20:23 +0000)]
tools: switch COT to omap_iterate

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd: switch rest of PrimaryLogPG to omap_iterate
Radoslaw Zarzynski [Fri, 29 Nov 2024 20:21:26 +0000 (20:21 +0000)]
osd: switch rest of PrimaryLogPG to omap_iterate

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agotest: switch StoreTest out of get_omap_iterator
Radoslaw Zarzynski [Fri, 29 Nov 2024 12:16:38 +0000 (12:16 +0000)]
test: switch StoreTest out of get_omap_iterator

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agotools/cot: don't print tail_key during list-slow-omap
Radoslaw Zarzynski [Thu, 28 Nov 2024 19:02:30 +0000 (19:02 +0000)]
tools/cot: don't print tail_key during list-slow-omap

`tail_key`, and even presence of some key designated to
be a gaaurd, seems to an impementation detail of
particular `ObjectStore`.

I doubt this piece of information is useful enough to
introduce a getter for it to the `ObjectStore` interface.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd: switch SnapMapper to omap_iterate
Radoslaw Zarzynski [Wed, 27 Nov 2024 00:29:17 +0000 (00:29 +0000)]
osd: switch SnapMapper to omap_iterate

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoos, os/memstore: make the omap_iterate reentrant
Radoslaw Zarzynski [Tue, 26 Nov 2024 22:13:18 +0000 (22:13 +0000)]
os, os/memstore: make the omap_iterate reentrant

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd: internalize the SnapMapper's dependency on OmapIterator
Radoslaw Zarzynski [Tue, 26 Nov 2024 20:33:56 +0000 (20:33 +0000)]
osd: internalize the SnapMapper's dependency on OmapIterator

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd: switch OSDriver of SnapMapper to omap_iterate
Radoslaw Zarzynski [Tue, 26 Nov 2024 20:26:15 +0000 (20:26 +0000)]
osd: switch OSDriver of SnapMapper to omap_iterate

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd, test: drop the pre-octopus keys conversion of SnapMapper
Radoslaw Zarzynski [Tue, 26 Nov 2024 20:01:05 +0000 (20:01 +0000)]
osd, test: drop the pre-octopus keys conversion of SnapMapper

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd: switch PGLog::read_log_and_missing to omap_iterate
Radoslaw Zarzynski [Tue, 26 Nov 2024 19:29:18 +0000 (19:29 +0000)]
osd: switch PGLog::read_log_and_missing to omap_iterate

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoos, os/bluestore: omap_iterate informs whether it has been stopped
Radoslaw Zarzynski [Tue, 26 Nov 2024 18:27:29 +0000 (18:27 +0000)]
os, os/bluestore: omap_iterate informs whether it has been stopped

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd: switch OMAP scrubbing to omap_iterate
Radoslaw Zarzynski [Tue, 26 Nov 2024 01:38:33 +0000 (01:38 +0000)]
osd: switch OMAP scrubbing to omap_iterate

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd: ReplicatedBackend::build_push_op switch to omap_iterate
Radoslaw Zarzynski [Tue, 26 Nov 2024 00:54:54 +0000 (00:54 +0000)]
osd: ReplicatedBackend::build_push_op switch to omap_iterate

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd: prepare ScrubMapBuilder::omap_hash for optimization
Radoslaw Zarzynski [Tue, 26 Nov 2024 00:52:32 +0000 (00:52 +0000)]
osd: prepare ScrubMapBuilder::omap_hash for optimization

When `get_omap_iterator()` is replaced with `omap_iterate()`,
the CRC calculations will be happening in-place, with 0copy.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agorgw/multisite: account for zones opted out of sync and object filters 53799/head
Shilpa Jagannath [Fri, 10 Jan 2025 07:39:47 +0000 (02:39 -0500)]
rgw/multisite: account for zones opted out of sync and object filters
during bucket deletion

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw: remove unused objv tracker
Shilpa Jagannath [Thu, 9 Jan 2025 15:18:28 +0000 (10:18 -0500)]
rgw: remove unused objv tracker

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multisite: check for both zonegroup and bucket level sync policies
Shilpa Jagannath [Wed, 8 Jan 2025 17:08:02 +0000 (12:08 -0500)]
rgw/multisite: check for both zonegroup and bucket level sync policies
when returning enotempty during bucket deletion

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agoqa/tests: test for bucket enotempty check during delete
Shilpa Jagannath [Thu, 2 Jan 2025 19:43:53 +0000 (14:43 -0500)]
qa/tests: test for bucket enotempty check during delete

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/trim: restore update_mapping_update in RGWBucketInstanceMetadataHandler::remove
Shilpa Jagannath [Wed, 18 Dec 2024 19:59:07 +0000 (14:59 -0500)]
rgw/trim: restore update_mapping_update in RGWBucketInstanceMetadataHandler::remove
- fix testcase

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/trim: fix ENOENT return response from bucket sync status query.
Shilpa Jagannath [Mon, 16 Dec 2024 20:28:36 +0000 (15:28 -0500)]
rgw/trim: fix ENOENT return response from bucket sync status query.
only handle them when the bucket metadata is deleted. there is a case
when we get enoent when status objects have not been created yet,
for example when bucket metadata is created and synced but no data
exists yet and bucket sync status won't be initialized. these don't
need special handling.

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agoqa/multisite: test trimming bilog on all zonegroups
Shilpa Jagannath [Sat, 7 Dec 2024 00:38:20 +0000 (19:38 -0500)]
qa/multisite: test trimming bilog on all zonegroups

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agoqa/multisite: test with checkpoint delays
Shilpa Jagannath [Wed, 4 Dec 2024 05:29:54 +0000 (00:29 -0500)]
qa/multisite: test with checkpoint delays

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multisite: don't sync metadata entry for bucket instance removal.
Shilpa Jagannath [Mon, 30 Sep 2024 22:35:47 +0000 (18:35 -0400)]
rgw/multisite: don't sync metadata entry for bucket instance removal.
removal should happen locally

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multisite: thread svc_datalog through RGWBucketCtl and BucketInstanceMetadataHandler
Shilpa Jagannath [Mon, 30 Sep 2024 22:23:45 +0000 (18:23 -0400)]
rgw/multisite: thread svc_datalog through RGWBucketCtl and BucketInstanceMetadataHandler

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multiiste: fix bucket enotempty check
Shilpa Jagannath [Wed, 28 Aug 2024 00:41:25 +0000 (20:41 -0400)]
rgw/multiiste: fix bucket enotempty check

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multisite: move the remote bucket listing logic into a separate
Shilpa Jagannath [Wed, 7 Aug 2024 19:33:57 +0000 (15:33 -0400)]
rgw/multisite: move the remote bucket listing logic into a separate
function.

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multisite: in a multisite env with bucket sync policies configured,
Shilpa Jagannath [Wed, 26 Jun 2024 07:04:08 +0000 (03:04 -0400)]
rgw/multisite: in a multisite env with bucket sync policies configured,
we may end up orphaning objects on remote zones when a delete bucket
is issued on metadata master. to avoid this, list the buckets on remote
zones and delete bucket only when empty. if a zone is unreachable we
drop that zone and continue with bucket deletion. such zones might have
orphaned objects that will have to be cleaned up using radosgw-admin tool

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agoqa/multisite: update test for bucket instance deletion
Shilpa Jagannath [Thu, 22 Feb 2024 20:43:09 +0000 (15:43 -0500)]
qa/multisite: update test for bucket instance deletion

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multisite: - add deleted layout on master zone
Shilpa Jagannath [Mon, 29 Jan 2024 16:41:27 +0000 (11:41 -0500)]
rgw/multisite: - add deleted layout on master zone
- handle the case when StatusShards returns -ENOENT

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agoqa/multisite: add a bilog trim testcase with bucket deletion
Shilpa Jagannath [Thu, 18 Jan 2024 17:00:14 +0000 (12:00 -0500)]
qa/multisite: add a bilog trim testcase with bucket deletion

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multisite: add datalog entry when transitioning to 'DELETED' log layout
Shilpa Jagannath [Fri, 12 Jan 2024 17:59:57 +0000 (12:59 -0500)]
rgw/multisite: add datalog entry when transitioning to 'DELETED' log layout

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multisite: helper function to store bucket info flag
Shilpa Jagannath [Tue, 28 Nov 2023 21:39:45 +0000 (16:39 -0500)]
rgw/multisite: helper function to store bucket info flag

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multisite: retry on detecting bucket instance metadata racing writes
Shilpa Jagannath [Thu, 23 Nov 2023 05:30:03 +0000 (00:30 -0500)]
rgw/multisite: retry on detecting bucket instance metadata racing writes

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multisite: - don't overwrite bucket attrs while storing bucket instance info.
Shilpa Jagannath [Wed, 22 Nov 2023 22:21:29 +0000 (17:21 -0500)]
rgw/multisite: - don't overwrite bucket attrs while storing bucket instance info.
- get rid of the helper function that adds the 'deleted' log layout.

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multisite: add 'deleted' as a RGWBucketInfo flag
Shilpa Jagannath [Tue, 21 Nov 2023 03:20:46 +0000 (22:20 -0500)]
rgw/multisite: add 'deleted' as a RGWBucketInfo flag

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multisite: handle the 'deleted' index log addition in RGWBucketInstanceMetadataHa...
Shilpa Jagannath [Tue, 7 Nov 2023 04:06:27 +0000 (23:06 -0500)]
rgw/multisite: handle the 'deleted' index log addition in RGWBucketInstanceMetadataHandler.
create an async cr for removing bucket instance info in bilog trimming logic

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agorgw/multisite: draft of bucket index cleanup after deletion
Shilpa Jagannath [Wed, 20 Sep 2023 20:02:20 +0000 (16:02 -0400)]
rgw/multisite: draft of bucket index cleanup after deletion

tracker: https://tracker.ceph.com/issues/20802
Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
3 months agoMerge pull request #62637 from smanjara/wip-rgw-revert-62323
Casey Bodley [Fri, 4 Apr 2025 16:17:45 +0000 (12:17 -0400)]
Merge pull request #62637 from smanjara/wip-rgw-revert-62323

rgw/multisite: revert pr 62323

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #62680 from tchaikov/cmake-deprecated-warning
Kefu Chai [Fri, 4 Apr 2025 13:52:27 +0000 (21:52 +0800)]
Merge pull request #62680 from tchaikov/cmake-deprecated-warning

cmake: Fix googletest deprecated warnings by using target_compile_options()

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 months agoMerge pull request #62511 from tchaikov/test-remove-unused-var
Kefu Chai [Fri, 4 Apr 2025 11:54:51 +0000 (19:54 +0800)]
Merge pull request #62511 from tchaikov/test-remove-unused-var

test/ObjectMap: Remove unused CONTROL_PREFIX variable

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoosd: drop dead code that depends on OmapIterator::status()
Radoslaw Zarzynski [Mon, 25 Nov 2024 18:59:12 +0000 (18:59 +0000)]
osd: drop dead code that depends on OmapIterator::status()

For `BlueStore`, `MemStore` and `KStore` the `status()`
unconditionally returns `0`.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 months agoDNB, os/bluestore: minimize size of critical section in omap_iterate()
Radoslaw Zarzynski [Tue, 15 Oct 2024 15:49:47 +0000 (15:49 +0000)]
DNB, os/bluestore: minimize size of critical section in omap_iterate()

This commit takes out both seeing and iterating over onode's
OMAP out of the `Collection::lock`.

It bases on work by Adam Kupczyk on the behavior of RocksDB::DBIter
maintaning consistent view despite ongoing writes. Kudos to Adam.

This is experimental commit; I'm adding it for testing early.
DNB -- Do Not Backport.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>