]>
git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/log
Radoslaw Zarzynski [Thu, 9 May 2024 10:20:33 +0000 (10:20 +0000)]
crimson/osd: dissect metadata decoding from PGBackend::load_metadata()
This loosens the coupling between loading and decoding making
the latter reusable with metadata coming from other source than
local object store.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Thu, 9 May 2024 09:44:56 +0000 (09:44 +0000)]
crimson/osd: make OSD::osd_stat compliant with multi-core
The EC recovery backend needs `inc_osd_stat_repaired()`.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Thu, 2 May 2024 13:29:52 +0000 (13:29 +0000)]
crimson/osd: add support for reads over EC pool
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Wed, 1 May 2024 17:04:12 +0000 (17:04 +0000)]
crimson/osd: fix compiler warnings on copy elision being prevented
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Tue, 23 Apr 2024 13:54:23 +0000 (13:54 +0000)]
crimson/osd: on the cloning path bump obj version closer to its usage
My understanding at the time of writing is this change is a pure
refactoring.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Wed, 3 Apr 2024 14:37:20 +0000 (14:37 +0000)]
crimson/osd: fix std::moving in ShardServices
```
/home/rzarzynski/ceph2/src/crimson/osd/shard_services.cc:595:9: required from here
/home/rzarzynski/ceph2/src/crimson/osd/shard_services.cc:596:10: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
596 | auto [pool, name, ec_profile] = std::move(std::get<0>(ret).get0());
| ^~~~~~~~~~~~~~~~~~~~~~~~
/home/rzarzynski/ceph2/src/crimson/osd/shard_services.cc:596:10: note: remove ‘std::move’ call
/home/rzarzynski/ceph2/src/crimson/osd/shard_services.cc:597:10: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
597 | auto coll = std::move(std::get<1>(ret).get0());
| ^~~~
/home/rzarzynski/ceph2/src/crimson/osd/shard_services.cc:597:10: note: remove ‘std::move’ call
```
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Tue, 26 Mar 2024 14:25:18 +0000 (14:25 +0000)]
crimson/osd: implement ECRecoveryBackend::commit_txn_send_replies()
This bypasses the crimson-msgr for local ops.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Tue, 26 Mar 2024 14:24:59 +0000 (14:24 +0000)]
crimson/osd: implement ECRecoveryBackend::recover_object()
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Tue, 26 Mar 2024 12:18:04 +0000 (12:18 +0000)]
crimson/osd: wire up MOSDPGPush and MOSDPGPushReply in ECRecoveryBackend
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Tue, 26 Mar 2024 11:47:38 +0000 (11:47 +0000)]
crimson/osd: ECReplicatedBackend embraces ECCommon::RecoveryBackend
The idea is to compose the latter into the former (thus the private
inheritance) to easily build a class that fulfills the crimon iface
called `crimson::ReplicatedBackend`.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Mon, 25 Mar 2024 14:31:55 +0000 (14:31 +0000)]
crimson/osd: settle ECCommon::RecoveryBackend within crimson-osd
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Fri, 18 Apr 2025 09:03:53 +0000 (09:03 +0000)]
fixup: crimson/osd: compile and link with ECTransaction.cc
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Fri, 18 Apr 2025 08:50:53 +0000 (08:50 +0000)]
fixup: crimson/osd: add support for error handling around MOSDECSubOpRead
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Fri, 18 Apr 2025 08:47:09 +0000 (08:47 +0000)]
Revert "crimson: clarify RecoveryBackend::handle_backfill_op"
This reverts commit
ecda6780c93db66865533a27dab5b0beb052f5fa .
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Mon, 25 Mar 2024 11:07:33 +0000 (11:07 +0000)]
crimson/osd: wire MOSDPGPush{,Reply} with ECRecoveryBackend, phase 2
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Tue, 19 Mar 2024 17:40:26 +0000 (17:40 +0000)]
crimson/osd: wire MOSDPGPush{,Reply} with ECRecoveryBackend
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Tue, 19 Mar 2024 17:18:41 +0000 (17:18 +0000)]
crimson/osd: bring factory to RecoveryBackend
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Tue, 19 Mar 2024 17:18:02 +0000 (17:18 +0000)]
crimson/osd: bring ECRecoveryBackend, phase 0.1
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Tue, 19 Mar 2024 16:58:45 +0000 (16:58 +0000)]
crimson/osd: conceptually move delete handling out of ReplicatedRecoveryBackend
This logic is shareable between ReplicatedRecoveryBackend and
coming ECRecoveryBackend.
The switch happens currently only structural level; shuffling
betweeen source files will happen later.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Tue, 19 Mar 2024 16:49:06 +0000 (16:49 +0000)]
crimson/osd: bring ECRecoveryBackend, phase 0
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radosław Zarzyński [Wed, 22 Nov 2023 16:53:31 +0000 (17:53 +0100)]
crimson/osd: drop the green thread for ECBackend::submit_transaction()
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Tue, 24 Oct 2023 10:51:24 +0000 (12:51 +0200)]
crimson/osd: ECBackend::handle_sub_write() handles the end of local write
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Tue, 24 Oct 2023 10:48:25 +0000 (12:48 +0200)]
crimson/osd: improve debugs in ECBackend::handle_rep_write_reply
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Tue, 24 Oct 2023 10:43:35 +0000 (12:43 +0200)]
crimson/osd: handle_rep_write_reply() takes ECSubWriteReply
Taking this ECSubWriteReply instead of MOSDECSubOpWriteReply
makes this method easier to reuse for handling local writes.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Tue, 24 Oct 2023 10:38:51 +0000 (12:38 +0200)]
crimson/osd: extend PG::should_send_op() and move it to .cc
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Mon, 9 Oct 2023 20:20:06 +0000 (22:20 +0200)]
crimson/osd: implement ECBackend::objects_read_and_reconstruct
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Fri, 6 Oct 2023 21:35:26 +0000 (23:35 +0200)]
crimson/osd: implement submit_transaction() of ECBackend
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Tue, 24 Oct 2023 10:25:41 +0000 (12:25 +0200)]
crimson/osd: PCBackend::_submit_transaction() takes ObjectContext
For the sake of ECBackend.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Fri, 6 Oct 2023 14:42:20 +0000 (16:42 +0200)]
crimson/osd: bring attr cache to ObjectContext
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Fri, 6 Oct 2023 14:41:54 +0000 (16:41 +0200)]
crimson/osd: compile and link with ECTransaction.cc
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Mon, 2 Oct 2023 19:51:53 +0000 (21:51 +0200)]
crimson/osd: drop the mock of ECTransaction-for-crimson from ECCommon
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Mon, 2 Oct 2023 19:27:27 +0000 (21:27 +0200)]
crimson/osd: translate for os::Transaction into ECTransaction
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Thu, 28 Sep 2023 16:23:47 +0000 (18:23 +0200)]
crimson/osd: make ECCommon compatible with libfmt
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Thu, 28 Sep 2023 16:21:15 +0000 (18:21 +0200)]
crimson/osd: wire MOSDECSubOpWriteReply up with ECBackend
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Tue, 26 Sep 2023 15:47:24 +0000 (17:47 +0200)]
crimson/osd: implement ECBackend::handle_rep_read_reply()
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Tue, 26 Sep 2023 15:42:55 +0000 (17:42 +0200)]
crimson/osd: settle RMWPipeline and RMWPipeline within ECBackend
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Mon, 11 Sep 2023 14:26:58 +0000 (16:26 +0200)]
crimson/osd: add support for ECWrites on replica
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Mon, 11 Sep 2023 14:24:27 +0000 (16:24 +0200)]
crimson/osd: PG::log_operation() is now able to update hset
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radoslaw Zarzynski [Fri, 18 Apr 2025 08:49:24 +0000 (08:49 +0000)]
fixup: crimson/osd: add support for MOSDECSubOpRead
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radosław Zarzyński [Mon, 4 Sep 2023 17:16:29 +0000 (19:16 +0200)]
crimson/osd: instantiate an EC plugin
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Mon, 7 Aug 2023 13:22:38 +0000 (15:22 +0200)]
crimson/osd: route EC messages over PG
The reason behind this change is to avoid mixing responsibilities.
Although in the classical OSD `ECBackend` handles virually everything
related to handling e.g.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Fri, 4 Aug 2023 13:07:06 +0000 (15:07 +0200)]
crimson/osd: PGBackend stores pg_shard_t instead of just shard_id_t
It's worth a note that `ReplicatedBackend` (derivate of `PGBackend`)
already holds `pg_shard_t`, so information is duplicated.
As the `ECBackend` starts needs `pg_shard_t` as well, let's rework.
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Thu, 3 Aug 2023 13:15:49 +0000 (15:15 +0200)]
crimson/osd: add support for attr retrieval of MOSDECSubOpRead
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Wed, 2 Aug 2023 14:43:56 +0000 (16:43 +0200)]
crimson/osd: add support for error handling around MOSDECSubOpRead
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Tue, 1 Aug 2023 13:52:55 +0000 (15:52 +0200)]
crimson/osd: add support for MOSDECSubOpRead
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Tue, 1 Aug 2023 13:52:08 +0000 (15:52 +0200)]
crimson/osd: wire the EC-specific messages up
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Wed, 12 Jul 2023 19:35:37 +0000 (21:35 +0200)]
crimson/osd: bring ECRepRequest
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radosław Zarzyński [Tue, 22 Aug 2023 13:17:54 +0000 (15:17 +0200)]
crimson/osd: always dencode object_info_t with hobject_t
The classical OSD never uses the the `encode_no_oid()`
and `decode_no_oid()` variants of object info's encoding
machinery. crimson departed from this to such an extent
on recovery it sends `OI_ATTR` with meaningless `soid`-
related bytes. The net result is the following crash in
an heterogenous cluster:
```
-7> 2023-08-22T14:36:57.621+0200
7f25113c8700 0 osd.1 pg_epoch: 62 pg[1.0( v 42'43 lc 39'37 (0'0,42'43] local-lis/les=45/58 n=4 ec=6/6 lis/c=45/6 les/c/f=58/8/0 sis=45) [1] r=0 lpr=53 pi=[6,45)/1 crt=42'43 lcod 0'0 mlcod 0'0 active+recovering rops=2 m=2 mbc={255={(0+1)=2}}] get_object_context:11843: soid.pool=1
-6> 2023-08-22T14:36:57.621+0200
7f25113c8700 10 osd.1 pg_epoch: 62 pg[1.0( v 42'43 lc 39'37 (0'0,42'43] local-lis/les=45/58 n=4 ec=6/6 lis/c=45/6 les/c/f=58/8/0 sis=45) [1] r=0 lpr=53 pi=[6,45)/1 crt=42'43 lcod 0'0 mlcod 0'0 active+recovering rops=2 m=2 mbc={255={(0+1)=2}}] get_object_context: obc NOT found in cache: 1:
30306672 :devicehealth::main.db.
0000000000000000 :head
-5> 2023-08-22T14:36:57.621+0200
7f25113c8700 0 osd.1 pg_epoch: 62 pg[1.0( v 42'43 lc 39'37 (0'0,42'43] local-lis/les=45/58 n=4 ec=6/6 lis/c=45/6 les/c/f=58/8/0 sis=45) [1] r=0 lpr=53 pi=[6,45)/1 crt=42'43 lcod 0'0 mlcod 0'0 active+recovering rops=2 m=2 mbc={255={(0+1)=2}}] get_object_context:11865 bv came from OI_ATTR
-4> 2023-08-22T14:36:57.621+0200
7f25113c8700 0 osd.1 pg_epoch: 62 pg[1.0( v 42'43 lc 39'37 (0'0,42'43] local-lis/les=45/58 n=4 ec=6/6 lis/c=45/6 les/c/f=58/8/0 sis=45) [1] r=0 lpr=53 pi=[6,45)/1 crt=42'43 lcod 0'0 mlcod 0'0 active+recovering rops=2 m=2 mbc={255={(0+1)=2}}] get_object_context:11897 just after bv decode oi.soid.pool=-
9223372036854775808
-3> 2023-08-22T14:36:57.621+0200
7f25113c8700 0 osd.1 pg_epoch: 62 pg[1.0( v 42'43 lc 39'37 (0'0,42'43] local-lis/les=45/58 n=4 ec=6/6 lis/c=45/6 les/c/f=58/8/0 sis=45) [1] r=0 lpr=53 pi=[6,45)/1 crt=42'43 lcod 0'0 mlcod 0'0 active+recovering rops=2 m=2 mbc={255={(0+1)=2}}] soid.pool=-
9223372036854775808 info.pgid.pool()=1
-2> 2023-08-22T14:36:57.641+0200
7f25113c8700 -1 ../src/osd/PrimaryLogPG.cc: In function 'ObjectContextRef PrimaryLogPG::get_object_context(const hobject_t&, bool, const std::map<std::__cxx11::basic_string<char>, ceph::buffer::v15_2_0::list, std::less<void> >*)' thread
7f25113c8700 time 2023-08-22T14:36:57.625282+0200
../src/osd/PrimaryLogPG.cc: 11906: FAILED ceph_assert(oi.soid.pool == (int64_t)info.pgid.pool())
ceph version
18.0.0-4293-g6cd888f2315 (
6cd888f2315e525412ee7d39587d11d0a19245c2 ) reef (dev)
1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x127) [0x5602381712da]
2: (ceph::register_assert_context(ceph::common::CephContext*)+0) [0x560238171505]
3: (PrimaryLogPG::get_object_context(hobject_t const&, bool, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::v15_2_0::list, std::less<void>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ceph::buffer::v15_2_0::list> > > const*)+0xc9e) [0x560237b5aec6]
4: (non-virtual thunk to PrimaryLogPG::get_obc(hobject_t const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::v15_2_0::list, std::less<void>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ceph::buffer::v15_2_0::list> > > const&)+0x30) [0x560237c2f9d5]
5: (ReplicatedBackend::handle_pull_response(pg_shard_t, PushOp const&, PullOp*, std::__cxx11::list<ReplicatedBackend::pull_complete_info, std::allocator<ReplicatedBackend::pull_complete_info> >*, ceph::os::Transaction*)+0x5dc) [0x560237e9d116]
6: (ReplicatedBackend::_do_pull_response(boost::intrusive_ptr<OpRequest>)+0x477) [0x560237e9e6d5]
7: (ReplicatedBackend::_handle_message(boost::intrusive_ptr<OpRequest>)+0x1e1) [0x560237e9f2ef]
8: (PGBackend::handle_message(boost::intrusive_ptr<OpRequest>)+0x59) [0x560237c3f3bb]
9: (PrimaryLogPG::do_request(boost::intrusive_ptr<OpRequest>&, ThreadPool::TPHandle&)+0x93f) [0x560237bb7bdd]
10: (OSD::dequeue_op(boost::intrusive_ptr<PG>, boost::intrusive_ptr<OpRequest>, ThreadPool::TPHandle&)+0x531) [0x5602379dcb41]
11: (ceph::osd::scheduler::PGRecoveryMsg::run(OSD*, OSDShard*, boost::intrusive_ptr<PG>&, ThreadPool::TPHandle&)+0x22c) [0x560237d5b8f8]
12: (OSD::ShardedOpWQ::_process(unsigned int, ceph::heartbeat_handle_d*)+0x3386) [0x5602379ff9f4]
13: (ShardedThreadPool::shardedthreadpool_worker(unsigned int)+0x979) [0x56023815f9c3]
14: (ShardedThreadPool::WorkThreadSharded::entry()+0x17) [0x560238163279]
15: (Thread::entry_wrapper()+0x43) [0x56023814c0af]
16: (Thread::_entry_func(void*)+0xd) [0x56023814c0cb]
17: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7f2531844609]
18: clone()
```
Fixes: https://tracker.ceph.com/issues/62526
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
Radoslaw Zarzynski [Thu, 17 Jul 2025 14:25:28 +0000 (14:25 +0000)]
crimson/osd, osd: build and link ECCommon
The modifications of the code shared with the classical OSD boil
down to just adding some `WITH_CRIMSON` guards; nothing more.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Matan Breizman [Sun, 25 Jan 2026 13:26:33 +0000 (15:26 +0200)]
Merge pull request #66740 from xxhdx1985126/wip-seastore-rbm-no-backref
crimson/os/seastore: drop backrefs in cases of pure rbm seastores
Reviewed-by: Samuel Just <sjust@redhat.com>
Ilya Dryomov [Sat, 24 Jan 2026 14:00:24 +0000 (15:00 +0100)]
Merge pull request #67063 from idryomov/wip-74529
qa: don't assume that /dev/sda or /dev/vda is present in unmap.t
Reviewed-by: Ramana Raja <rraja@redhat.com>
Ilya Dryomov [Sat, 24 Jan 2026 10:02:02 +0000 (11:02 +0100)]
Merge pull request #67048 from idryomov/wip-74513
qa: krbd_blkroset.t: eliminate a race in the open_count test
Reviewed-by: Ramana Raja <rraja@redhat.com>
J. Eric Ivancich [Fri, 23 Jan 2026 20:16:25 +0000 (15:16 -0500)]
Merge pull request #66622 from ivancich/wip-max-max-reshard-logs-listings
rgw: enforce max max for reshard logs listings
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Mingyuan Liang <liangmingyuan@baidu.com>
J. Eric Ivancich [Fri, 23 Jan 2026 19:34:34 +0000 (14:34 -0500)]
Merge pull request #66673 from ivancich/wip-fix-radosgw-admin-obj-put
rgw: `radosgw-admin object put ...` broken w/ versioned buckets
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
J. Eric Ivancich [Fri, 12 Dec 2025 17:54:12 +0000 (12:54 -0500)]
rgw: enforce max max for reshard logs listings
Previously a list of reshard logs could be unlimited. We need to
enforce time limits on CLS ops.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
J. Eric Ivancich [Fri, 23 Jan 2026 17:31:40 +0000 (12:31 -0500)]
Merge pull request #66623 from ivancich/wip-fix-bi-list-backwards
rgw: bucket index list can go backwards and may loop
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Sridhar Seshasayee [Fri, 23 Jan 2026 17:17:04 +0000 (22:47 +0530)]
Merge pull request #67058 from sseshasa/wip-fix-iops-threshold-warning-74501
qa: Disable OSD benchmark from running for tests.
Reviewed-by: Laura Flores <lflores@ibm.com>
bluikko [Fri, 23 Jan 2026 14:49:06 +0000 (21:49 +0700)]
Merge pull request #67006 from bluikko/wip-doc-radosgw-ref-links-split1
doc/radosgw: change all intra-docs links to use ref (2 of 6)
Ilya Dryomov [Fri, 23 Jan 2026 13:48:53 +0000 (14:48 +0100)]
qa: don't assume that /dev/sda or /dev/vda is present in unmap.t
Instead of hard-coding the block device name, use the block device that
is backing the filesystem that the test is running on. We can be quite
sure it won't be an RBD device ;)
Fixes: https://tracker.ceph.com/issues/74529
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Afreen Misbah [Fri, 23 Jan 2026 10:38:27 +0000 (16:08 +0530)]
Merge pull request #66914 from afreen23/productive-card
mgr/dashboard: Add productive card component
Reviewed-by: Devika Babrekar <devika.babrekar@ibm.com>
Sridhar Seshasayee [Fri, 12 Sep 2025 08:08:30 +0000 (13:38 +0530)]
qa: Disable OSD benchmark from running for tests.
Disable OSD bench from benchmarking the OSDs for teuthology tests. This is to
help prevent a cluster warning pertaining to the IOPS value not lying within
a typical threshold range from being raised.
The tests can rely on the built-in static values as defined by
osd_mclock_max_capacity_iops_[ssd|hdd] which should be good enough.
Fixes: https://tracker.ceph.com/issues/74501
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
David Galloway [Thu, 22 Jan 2026 16:34:53 +0000 (11:34 -0500)]
Merge pull request #67041 from Matan-B/wip-matanb-debug-container
container/build.sh: Use dedicated debug tags
Ilya Dryomov [Wed, 21 Jan 2026 18:41:41 +0000 (19:41 +0100)]
qa: krbd_blkroset.t: eliminate a race in the open_count test
Even at QD=1, dd may take less than 10 seconds to work its way to the
end of a 10M image, producing "No space left on device" error instead
of the expected "Operation not permitted" error which is supposed to
arise from the device getting marked read-only while opened.
Fixes: https://tracker.ceph.com/issues/74513
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Casey Bodley [Thu, 22 Jan 2026 15:22:53 +0000 (10:22 -0500)]
Merge pull request #66625 from kshtsk/wip-dnsmasq-preserve-nameservers
rgw/website: preserve nameservers for future use in dnsmasq
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Matan Breizman [Thu, 22 Jan 2026 14:00:47 +0000 (16:00 +0200)]
Merge pull request #66648 from Matan-B/wip-matanb-crimson-flavor-overrides
qa/config,crontab: Adjust to Crimson flavor cleanup
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Matan Breizman [Tue, 16 Dec 2025 11:03:25 +0000 (13:03 +0200)]
qa/crontab/teuthology-cronjobs: Use debug flavor
Use the new Debug flavor introduced in https://github.com/ceph/ceph-build/pull/2497.
This should provide more nightly test coverage.
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Matan Breizman [Tue, 16 Dec 2025 11:05:20 +0000 (13:05 +0200)]
qa/crontab/teuthology-cronjobs: Cleanup Crimson tentacle nightly
With https://github.com/ceph/ceph-build/pull/2497 merged we no loger
build Tentacle+Crimson regularly. As Crimson no longer backport changes
into Tentacle, there's no reason to keep testing it.
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Ilya Dryomov [Thu, 22 Jan 2026 10:57:59 +0000 (11:57 +0100)]
Merge pull request #67037 from tchaikov/wip-cmake-fix-cmake-ld
cmake: fix undefined PY_LDFLAGS in distutils_install_cython_module
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Ronen Friedman [Thu, 22 Jan 2026 10:54:06 +0000 (12:54 +0200)]
Merge pull request #66749 from ronen-fr/wip-rf-dumptargets
osd/scrub: improve scrub target dumps
Reviewed-by: Jon Bailey <jonathan.bailey1@ibm.com>
Matan Breizman [Thu, 22 Jan 2026 10:00:25 +0000 (12:00 +0200)]
container/build.sh: Use dedicated debug tags
https://github.com/ceph/ceph-build/pull/2497 introduced a debug flavor.
This seems to cause conflicts with the image being pushed to quay as one
of the flavors might override the other.
Tag debug build containers explicitly.
Alternative solution would be to skip debug containers all together.
However. these might be useful for development purposes.
Note, prune-quay might also need to be updated once this is merged.
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Matan Breizman [Thu, 22 Jan 2026 09:55:03 +0000 (11:55 +0200)]
container/build.sh: cleanup crimson flavors
We no longer have crimson-flavors see https://github.com/ceph/ceph-build/pull/2497
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Kefu Chai [Thu, 22 Jan 2026 03:57:37 +0000 (11:57 +0800)]
cmake: fix undefined PY_LDFLAGS in distutils_install_cython_module
The distutils_install_cython_module() function was using ${PY_LDFLAGS}
without defining it, causing the linker to fail with:
/opt/rh/gcc-toolset-13/root/usr/libexec/gcc/x86_64-redhat-linux/13/ld:
cannot find -lrados: No such file or directory
This bug was introduced in commit
d22734f6cb0 which changed:
set(ENV{LDFLAGS} "-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
to:
set(ENV{LDFLAGS} "${PY_LDFLAGS}")
However, PY_LDFLAGS was only defined in distutils_add_cython_module(),
not in distutils_install_cython_module(). This meant that during the
install phase, LDFLAGS was set to an empty string, and the linker
couldn't find librados.so and other Ceph libraries in the build
directory.
The bug was exposed by commit
719b74984605b490f23004eb41583a22c934c5fb
which changed rados.pxd to use C preprocessor conditionals (#ifdef
BUILD_DOC) instead of Cython's compile-time IF statements. This meant
the build now required proper linking during the install phase.
Fix by defining PY_LDFLAGS in distutils_install_cython_module():
set(PY_LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS} -L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
This keeps CMAKE_SHARED_LINKER_FLAGS as a space-separated string and
appends the library directory flag, avoiding issues with semicolon
conversion.
Fixes: d22734f6cb0
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
Ville Ojamo [Fri, 16 Jan 2026 09:43:31 +0000 (16:43 +0700)]
doc/radosgw: change all intra-docs links to use ref (2 of 6)
Part 2 of 6 to make backporting easier. Depends on part 1.
Use the the ref role for all remaining links in doc/radosgw/ with the
exception of config-ref.rst which will depend on changes to rgw.yaml.in.
The external link definitions syntax being removed is intended for
linking to external websites and not for intra-docs links. Validity of
ref links will be checked during the docs build process.
Add labels for links targets if necessary.
Remove unused external link definitions in the modified files.
Use confval instead of literal text for 2 configuration keys in
vault.rst.
Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
bluikko [Thu, 22 Jan 2026 05:41:27 +0000 (12:41 +0700)]
Merge pull request #66944 from bluikko/wip-doc-radosgw-ref-links1
doc/radosgw: change all intra-docs links to use ref (1 of 6)
Ville Ojamo [Fri, 16 Jan 2026 08:55:27 +0000 (15:55 +0700)]
doc/radosgw: change all intra-docs links to use ref (1 of 6)
Part 1 of 6 to make backporting easier. Many of the following parts
depend on this.
Use the the ref role for all remaining links in doc/radosgw/ with the
exception of config-ref.rst which will depend on changes to rgw.yaml.in.
The external link definitions syntax being removed is intended for
linking to external websites and not for intra-docs links. Validity of
ref links will be checked during the docs build process.
Add labels for links targets if necessary.
Remove unused external link definitions in the modified files.
Use confval instead of literal text for 2 configuration keys in
vault.rst.
Use Ceph Object Gateway consistently in multisite.rst.
Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
Kefu Chai [Thu, 22 Jan 2026 03:26:34 +0000 (11:26 +0800)]
Merge pull request #67020 from Matan-B/wip-matanb-crimson-asan-fixes-v2
Revert "common/options: fix heap-use-after-free by using never-destro…
Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
Ronen Friedman [Wed, 21 Jan 2026 18:14:50 +0000 (20:14 +0200)]
Merge pull request #66998 from ronen-fr/wip-rf-nextdeepscrub
osd/scrub: removing the unused next_deepscrub_interval()
Reviewed-by: Samuel Just <sjust@redhat.com>
Yuri Weinstein [Wed, 21 Jan 2026 16:31:38 +0000 (08:31 -0800)]
Merge pull request #66847 from adk3798/cephadm-teuth-assume-default-image-base
qa/cephadm: add default container image name base
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
Michael J. Kidd [Wed, 21 Jan 2026 16:14:59 +0000 (09:14 -0700)]
Merge pull request #66938 from ivancich/wip-orphan-list-empty
rgw: rgw-orphan-list can continue with empty intermediate file(s)
Imran Imtiaz [Wed, 21 Jan 2026 14:34:48 +0000 (14:34 +0000)]
Merge pull request #66975 from imran-imtiaz/dashboard
mgr/dashboard: improve RBD group API endpoint documentation
Matan Breizman [Tue, 20 Jan 2026 13:35:40 +0000 (13:35 +0000)]
Revert "common/options: fix heap-use-after-free by using never-destroyed static"
```
Jan 20 09:27:16 ceph-node-0 ceph-
e818662e -f5e1-11f0-b263-
525400908ba7 -osd-1[12300]: AddressSanitizer:DEADLYSIGNAL
Jan 20 09:27:16 ceph-node-0 ceph-
e818662e -f5e1-11f0-b263-
525400908ba7 -osd-1[12300]: =================================================================
Jan 20 09:27:16 ceph-node-0 ceph-
e818662e -f5e1-11f0-b263-
525400908ba7 -osd-1[12300]: ==3==ERROR: AddressSanitizer: stack-overflow on address 0x7b512f6c8dd8 (pc 0x0000046e7a72 bp 0x7b512de7c900 sp 0x7b512f6c8dd8 T0)
Jan 20 09:27:17 ceph-node-0 ceph-
e818662e -f5e1-11f0-b263-
525400908ba7 -osd-1[12300]: #0 0x0000046e7a72 in get_global_options() (/usr/bin/ceph-osd-crimson+0x46e7a72) (BuildId:
2a86043f51c9be9cb19801e276fb3ee36239556a )
Jan 20 09:27:17 ceph-node-0 ceph-
e818662e -f5e1-11f0-b263-
525400908ba7 -osd-1[12300]: #1 0x0000046e540e in build_options() (/usr/bin/ceph-osd-crimson+0x46e540e) (BuildId:
2a86043f51c9be9cb19801e276fb3ee36239556a )
Jan 20 09:27:17 ceph-node-0 ceph-
e818662e -f5e1-11f0-b263-
525400908ba7 -osd-1[12300]: #2 0x0000033b7949 in get_ceph_options() (/usr/bin/ceph-osd-crimson+0x33b7949) (BuildId:
2a86043f51c9be9cb19801e276fb3ee36239556a )
Jan 20 09:27:17 ceph-node-0 ceph-
e818662e -f5e1-11f0-b263-
525400908ba7 -osd-1[12300]: #3 0x000003440540 in md_config_t::md_config_t(ConfigValues&, ConfigTracker const&, bool) (/usr/bin/ceph-osd-crimson+0x3440540) (BuildId: 2a860>
Jan 20 09:27:17 ceph-node-0 ceph-
e818662e -f5e1-11f0-b263-
525400908ba7 -osd-1[12300]: #4 0x0000046856a8 in crimson::common::ConfigProxy::ConfigProxy(EntityName const&, std::basic_string_view<char, std::char_traits<char> >) (/usr>
Jan 20 09:27:17 ceph-node-0 ceph-
e818662e -f5e1-11f0-b263-
525400908ba7 -osd-1[12300]: #5 0x000000eb6cb5 in seastar::shared_ptr_count_for<crimson::common::ConfigProxy>::shared_ptr_count_for<EntityName&, std::__cxx11::basic_string>
..
Jan 20 09:27:17 ceph-node-0 ceph-
e818662e -f5e1-11f0-b263-
525400908ba7 -osd-1[12300]: #40 0x000000ed6434 in seastar::future<int> seastar::futurize<int>::apply<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::ope>
Jan 20 09:27:17 ceph-node-0 ceph-
e818662e -f5e1-11f0-b263-
525400908ba7 -osd-1[12300]: #41 0x000000ed672b in seastar::async<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::operator()() const::{lambda()#1}>(seast>
```
This reverts commit
1ab0a8cb726cb730954294423acec887b92fa5b0 .
Fixes: https://tracker.ceph.com/issues/74481
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Ronen Friedman [Wed, 21 Jan 2026 12:37:24 +0000 (14:37 +0200)]
Merge pull request #66626 from ronen-fr/wip-rf-aborthp-justdoc
doc/ceph.rst: scrub-related 'tell pgid' commands
Related to https://github.com/ceph/ceph/pull/66515
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
Ronen Friedman [Wed, 21 Jan 2026 12:28:31 +0000 (14:28 +0200)]
Merge pull request #66515 from ronen-fr/wip-rf-aborthp
osd/scrub: support an operator-abort command
Reviewed-by: Samuel Just <sjust@redhat.com>
Afreen Misbah [Wed, 21 Jan 2026 10:53:15 +0000 (16:23 +0530)]
Merge pull request #66751 from rhcs-dashboard/list-subsystem
mgr/dashboard: NVme-Subsystem list
Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Naman Munet <nmunet@redhat.com>
Afreen Misbah [Wed, 21 Jan 2026 09:20:31 +0000 (14:50 +0530)]
Merge pull request #66731 from rhcs-dashboard/carbonize-delete-zonegroup-modal
mgr/dashboard: carbonize-delete-zonegroup-modal
Reviewed-by: Naman Munet <nmunet@redhat.com>
Reviewed-by: pujaoshahu <pshahu@redhat.com>
Vallari Agrawal [Wed, 21 Jan 2026 08:26:32 +0000 (13:56 +0530)]
Merge pull request #66988 from VallariAg/wip-update-toomanynamespace-alert
monitoring: update NVMeoFTooManyNamespaces to 4096 ns
Puja Shahu [Mon, 29 Dec 2025 07:57:06 +0000 (13:27 +0530)]
mgr/dashboard: NVme-Subsystem list
Fixes: https://tracker.ceph.com/issues/74284
Signed-off-by:pujaoshahu <pshahu@redhat.com>
Signed-off-by: Puja Shahu <pshahu@li-4dbc3fcc-2cf0-11b2-a85c-8cca2743bba1.ibm.com>
Signed-off-by: pujaoshahu <pshahu@redhat.com>
bluikko [Wed, 21 Jan 2026 03:23:38 +0000 (10:23 +0700)]
Merge pull request #66980 from bluikko/wip-doc-rados-fix-unbalanced-backticks
doc/rados: fix unbalanced double backticks markup
bluikko [Wed, 21 Jan 2026 03:23:13 +0000 (10:23 +0700)]
Merge pull request #66982 from bluikko/wip-doc-rados-cache-tiering-broken-link
doc/rados: fix links in operations/cache-tiering.rst
Kefu Chai [Wed, 21 Jan 2026 01:09:00 +0000 (09:09 +0800)]
Merge pull request #66447 from tchaikov/wip-pybind-sans-if
pybind: replace deprecated IF statements with Tempita templates
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Afreen Misbah [Tue, 13 Jan 2026 20:47:40 +0000 (02:17 +0530)]
mgr/dashboard: Add productive card component
- add generic productive card component
- based on carbon design system
- there are two versions of card - with shadow(tinted affect) and without.
- applies gray10 theme which is decided by new designs.
Fixes https://tracker.ceph.com/issues/74450
Signed-off-by: Afreen Misbah <afreen@ibm.com>
Hezko [Tue, 20 Jan 2026 18:32:57 +0000 (20:32 +0200)]
Merge pull request #66822 from Hezko/nvme-gw-addr-param
mgr/dashboard: replace traddr with server_address in NVMeoF CLI
Ronen Friedman [Mon, 8 Dec 2025 15:09:30 +0000 (09:09 -0600)]
osd/scrub: operator abort: (not) handling in-the-mail scrubs
Fix on_operator_abort_scrub() to handle the case where
the operator-initiated abort request arrives while the
'start scrub' message is still in the queue (i.e. -
is_queued_or_active() is true, but is_scrub_active()
is false).
Unlike our handling of, for example, FullReset in
PrimaryIdle::clear_state(), here we choose to ignore
the request:
Considering the added complexity to the FSM versus
the minimal benefit, it is better to just ignore this
very rare case, leaving it to the operator to re-issue
the abort command if needed.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
Ronen Friedman [Sun, 7 Dec 2025 14:34:05 +0000 (08:34 -0600)]
osd/scrub: added the scrub-abort command
and its handling in the PgScrubber.
Fixes: https://tracker.ceph.com/issues/74133
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
Ronen Friedman [Thu, 4 Dec 2025 14:49:29 +0000 (08:49 -0600)]
osd/scrub: support an operator-abort command
The new explicit command aborts any ongoing scrub of the target PG,
including operator-initiated scrubs. That additional capability is needed now that
operator-initiated scrubs are no longer blocked by 'no-scrub' settings.
The scenario we are trying to help the operator with is:
- an operator issues a set of operator-initiated scrubs (e.g., via a
script), then realizes the mistake and wants to abort them all.
The abort command also downgrades the urgency level of the scrub target
(as otherwise the target would immediately restart, against the operator
wishes).
This commit implements the changes to the state machine and to the abort
logic, assuming the operator command was translated into an event.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
Ronen Friedman [Thu, 4 Dec 2025 12:55:18 +0000 (06:55 -0600)]
osd/scrub: removing the unused PgScrubber::m_scrub_reg_stamp
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
Afreen Misbah [Tue, 20 Jan 2026 16:38:44 +0000 (22:08 +0530)]
Merge pull request #66901 from rhcs-dashboard/rgw-nfs-export-fix
mgr/dashboard: [RGW-NFS]: User level export creation via UI fails with 500 - Internal Server Error
Reviewed-by: Afreen Misbah <afreen@ibm.com>
Ronen Friedman [Tue, 20 Jan 2026 14:05:15 +0000 (14:05 +0000)]
osd/scrub: removing the unused next_deepscrub_interval()
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
Adam King [Tue, 20 Jan 2026 14:00:28 +0000 (09:00 -0500)]
Merge pull request #66215 from rhcs-dashboard/fix-73814-main
mgr/cephadm: Fix RGW zone endpoint auto-update logic in _update_rgw_endpoints method
Reviewed-by: Adam King <adking@redhat.com>
Imran Imtiaz [Mon, 19 Jan 2026 17:02:06 +0000 (17:02 +0000)]
mgr/dashboard: improve RBD group API endpoint documentation
Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com>
Fixes: https://tracker.ceph.com/issues/74449
Incorporate review comments:
- Add namespace description.
- Improve group endpoints description.
- Remove redundant group name from GET group endpoint.
Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com>