]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
17 months agoosd: clear out unneeded pending pg-upmap-primary mappings 53988/head
Laura Flores [Fri, 26 Jan 2024 17:32:43 +0000 (17:32 +0000)]
osd: clear out unneeded pending pg-upmap-primary mappings

If the score did not improve, we should clear out any
pending pg-upmap-primary mappings so they don't execute
in situations where the same incremental is used to balance
multiple pools (i.e. in the balancer mgr module).

Signed-off-by: Laura Flores <lflores@ibm.com>
17 months agoqa/suites/rados/thrash/d-balancer: add read and upmap-read modes to balancer testing
Laura Flores [Wed, 3 Jan 2024 20:52:00 +0000 (20:52 +0000)]
qa/suites/rados/thrash/d-balancer: add read and upmap-read modes to balancer testing

Here, we turn the balancer mgr module to read and upmap read mode
during various thrashing scenarios.

Signed-off-by: Laura Flores <lflores@ibm.com>
17 months agomgr/balancer: add pg_upmap_primaries to `balancer status detail`
Laura Flores [Tue, 2 Jan 2024 21:28:03 +0000 (21:28 +0000)]
mgr/balancer: add pg_upmap_primaries to `balancer status detail`

Followup to https://github.com/ceph/ceph/pull/54801/commits/8a5553597ca6a428cb8ffc9fc5bebde048fbd068.
Streamlines some of the logic so pg upmap activity is properly
initalized, and updated in offline mode as well as online.

Signed-off-by: Laura Flores <lflores@ibm.com>
17 months agoPendingReleaseNotes: add note about read balancer mgr module integration
Laura Flores [Fri, 22 Dec 2023 19:23:41 +0000 (19:23 +0000)]
PendingReleaseNotes: add note about read balancer mgr module integration

Signed-off-by: Laura Flores <lflores@ibm.com>
17 months agomgr: add read balancer support inside the balancer module
Laura Flores [Thu, 18 Jan 2024 18:57:24 +0000 (18:57 +0000)]
mgr: add read balancer support inside the balancer module

Read balancing may now be managed automatically via the balancer
manager module. Users may choose between two new modes: ``upmap-read``, which
offers upmap and read optimization simultaneously, or ``read``, which may be used
to only optimize reads. Existing balancer commands have also been added to
contain more information about read balancing.

Run the following commands to test the new automatic behavior:
`ceph balancer on` (on by default)
`ceph balancer mode <read|upmap-read>`
`ceph balancer status`

Run the following commands to test the new supervised behavior:
`ceph balancer off`
`ceph balancer mode <read|upmap-read>`
`ceph balancer eval` | `ceph balancer eval <pool-name>`
`ceph balancer eval-verbose` | `ceph balancer eval-verbose <pool-name>`
`ceph balancer optimize <plan-name>`
`ceph balancer show <plan-name>`
`ceph balancer eval <plan-name>`
`ceph balancer execute <plan-name>`

In the balancer module, there is also a new "self_test" function which tests
the module's basic functionality. This test can be triggered with the following
commands:
`ceph mgr module enable selftest`
`ceph mgr self-test module balancer`

Related Trello: https://trello.com/c/sWoKctzL/859-add-read-balancer-support-inside-the-balancer-module
Signed-off-by: Laura Flores <lflores@ibm.com>
17 months agomgr: add CephReleases class to sustainably compare releases
Laura Flores [Thu, 18 Jan 2024 18:55:28 +0000 (18:55 +0000)]
mgr: add CephReleases class to sustainably compare releases

Changes how the upmap balancer compares min_mon_release
to account for release names eventually wrapping around the alphabet.

Signed-off-by: Laura Flores <lflores@ibm.com>
17 months agoMerge pull request #55331 from ceph/revert-55096-sjust/for-review/wip-crush-msr
Laura Flores [Fri, 26 Jan 2024 22:15:46 +0000 (16:15 -0600)]
Merge pull request #55331 from ceph/revert-55096-sjust/for-review/wip-crush-msr

Revert "crush: add multistep retry rules"

17 months agoRevert "crush: add multistep retry rules" 55331/head
Samuel Just [Fri, 26 Jan 2024 20:23:03 +0000 (12:23 -0800)]
Revert "crush: add multistep retry rules"

This PR was merged by accident before it was ready.
Let's revert for now and open a new PR.

Signed-off-by: Samuel Just <sjust@redhat.com>
17 months agoMerge pull request #55096 from athanatos/sjust/for-review/wip-crush-msr
Yuri Weinstein [Fri, 26 Jan 2024 19:57:53 +0000 (11:57 -0800)]
Merge pull request #55096 from athanatos/sjust/for-review/wip-crush-msr

crush: add multistep retry rules

Reviewed-by: Laura Flores <lflores@redhat.com>
17 months agoMerge pull request #55303 from cbodley/wip-63130-debug
Casey Bodley [Fri, 26 Jan 2024 14:18:48 +0000 (14:18 +0000)]
Merge pull request #55303 from cbodley/wip-63130-debug

cmake/arrow: don't treat warnings as errors

Reviewed-by: Leonid Usov <leonid.usov@ibm.com>
17 months agoMerge pull request #55234 from ajarr/wip-64063
Ilya Dryomov [Fri, 26 Jan 2024 11:37:52 +0000 (12:37 +0100)]
Merge pull request #55234 from ajarr/wip-64063

rbd-nbd: use netlink interface by default

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
17 months agoMerge pull request #55121 from zhscn/fix-ambiguous-error
Kefu Chai [Fri, 26 Jan 2024 06:42:06 +0000 (14:42 +0800)]
Merge pull request #55121 from zhscn/fix-ambiguous-error

common: fix ambiguous error when using gcc 13

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
17 months agoMerge pull request #54896 from cyx1231st/wip-crimson-save-conn-foreign-copy
Yingxin [Fri, 26 Jan 2024 05:47:37 +0000 (13:47 +0800)]
Merge pull request #54896 from cyx1231st/wip-crimson-save-conn-foreign-copy

crimson/osd: drop a foreign-copy to shard-0 for every pg operation

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
17 months agoMerge pull request #52496 from adamemerson/wip-rgw-surface-neorados
Casey Bodley [Fri, 26 Jan 2024 02:43:44 +0000 (02:43 +0000)]
Merge pull request #52496 from adamemerson/wip-rgw-surface-neorados

rgw: Surface neorados

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
17 months agoMerge pull request #55308 from ljflores/wip-dependabot
Laura Flores [Thu, 25 Jan 2024 23:56:29 +0000 (17:56 -0600)]
Merge pull request #55308 from ljflores/wip-dependabot

17 months agoMerge pull request #55307 from zdover23/wip-doc-2024-01-25-radosgw-admin-usage
zdover23 [Thu, 25 Jan 2024 23:24:13 +0000 (09:24 +1000)]
Merge pull request #55307 from zdover23/wip-doc-2024-01-25-radosgw-admin-usage

doc/radosgw: edit "Usage" admin.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
17 months agodoc/radosgw: edit "Usage" admin.rst 55307/head
Zac Dover [Wed, 24 Jan 2024 19:13:00 +0000 (05:13 +1000)]
doc/radosgw: edit "Usage" admin.rst

Edit "Usage" in doc/radosgw/admin.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
17 months agoMerge pull request #55315 from cbodley/wip-moncommand-dencoder
Casey Bodley [Thu, 25 Jan 2024 17:12:07 +0000 (17:12 +0000)]
Merge pull request #55315 from cbodley/wip-moncommand-dencoder

mon: zero-initialize MonCommand::flags

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
17 months agorbd-nbd: map using netlink interface by default 55234/head
Ramana Raja [Wed, 17 Jan 2024 18:24:36 +0000 (13:24 -0500)]
rbd-nbd: map using netlink interface by default

Mapping rbd images to nbd devices using ioctl interface is not
robust. It was discovered that the device size or the md5 checksum
of the nbd device was incorrect immediately after mapping using
ioctl method. When using the nbd netlink interface to map RBD images
the issue was not encountered. Switch to using nbd netlink interface
for mapping.

Fixes: https://tracker.ceph.com/issues/64063
Signed-off-by: Ramana Raja <rraja@redhat.com>
17 months agomon: zero-initialize MonCommand::flags 55315/head
Casey Bodley [Thu, 25 Jan 2024 14:45:08 +0000 (09:45 -0500)]
mon: zero-initialize MonCommand::flags

causing failures in check-generated.sh:

2 MonCommand
/tmp/typ-qmnDZ1ahR /tmp/typ-lIgJTZiUe differ: byte 100, line 6
**** MonCommand test 1 dump_json check failed ****
   ceph-dencoder type MonCommand select_test 1 dump_json > /tmp/typ-qmnDZ1ahR
   ceph-dencoder type MonCommand select_test 1 encode decode dump_json > /tmp/typ-lIgJTZiUe
6c6
<     "flags": 94661933599904
---
>     "flags": 94342467308704

Signed-off-by: Casey Bodley <cbodley@redhat.com>
17 months agoMerge pull request #55287 from ajarr/wip-64139
Ilya Dryomov [Thu, 25 Jan 2024 12:04:26 +0000 (13:04 +0100)]
Merge pull request #55287 from ajarr/wip-64139

rbd-nbd: fix resize of images mapped using netlink

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
17 months agoMerge pull request #55270 from afreen23/fix-cap-inconsistency-multisite
Nizamudeen A [Thu, 25 Jan 2024 10:10:43 +0000 (15:40 +0530)]
Merge pull request #55270 from afreen23/fix-cap-inconsistency-multisite

mgr/dashboard: Fix inconsistency in capitalisation of "Multi-site"

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: rosinL <NOT@FOUND>
17 months agoMerge pull request #55182 from rkachach/fix_issue_64029
Redouane Kachach [Thu, 25 Jan 2024 09:23:43 +0000 (10:23 +0100)]
Merge pull request #55182 from rkachach/fix_issue_64029

mgr/rook: adding some basic rook e2e testing

17 months agoMerge pull request #55266 from athanatos/sjust/wip-63996
Samuel Just [Thu, 25 Jan 2024 05:05:09 +0000 (21:05 -0800)]
Merge pull request #55266 from athanatos/sjust/wip-63996

crimson: retain map references in OSDSingletonState::store_maps

Reviewed-by: Xuehan Xu <xuxuehan@qianxin.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
17 months agocrimson/osd/shard_services: retain map references in OSDSingletonState::store_maps 55266/head
Samuel Just [Wed, 10 Jan 2024 17:43:45 +0000 (09:43 -0800)]
crimson/osd/shard_services: retain map references in OSDSingletonState::store_maps

Introduced: 3f11cd94
Fixes: https://tracker.ceph.com/issues/63996
Signed-off-by: Samuel Just <sjust@redhat.com>
17 months agocrimson/osd/shard_service.cc: convert to newer logging machinery
Samuel Just [Wed, 10 Jan 2024 17:16:49 +0000 (17:16 +0000)]
crimson/osd/shard_service.cc: convert to newer logging machinery

Signed-off-by: Samuel Just <sjust@redhat.com>
17 months agocrimson/osd/osd.cc: migrate logging to new style
Samuel Just [Sat, 6 Jan 2024 23:32:03 +0000 (15:32 -0800)]
crimson/osd/osd.cc: migrate logging to new style

Signed-off-by: Samuel Just <sjust@redhat.com>
17 months agoMerge pull request #55288 from athanatos/sjust/wip-64140
Samuel Just [Thu, 25 Jan 2024 01:23:47 +0000 (17:23 -0800)]
Merge pull request #55288 from athanatos/sjust/wip-64140

Revert "crimson/os/alienstore/alien_log: _flush concurrently"

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
17 months agorgw: Thread site config into RADOS driver 52496/head
Adam Emerson [Thu, 9 Nov 2023 20:23:53 +0000 (15:23 -0500)]
rgw: Thread site config into RADOS driver

Make this available so multisite sync doesn't have to rely on the zone
service.

Signed-off-by: Adam Emerson <aemerson@redhat.com>
17 months agorgw: Asio frontend shares `io_context` with the rest of RGW
Adam C. Emerson [Fri, 14 Apr 2023 19:45:04 +0000 (15:45 -0400)]
rgw: Asio frontend shares `io_context` with the rest of RGW

Pull the `io_context` and threads out of `AsioFrontend`, pass in a
reference to `io_context_pool` so it can be shut down at `AsioFrontend::join`

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
17 months agoMerge pull request #54987 from batrick/i63822
Yuri Weinstein [Wed, 24 Jan 2024 21:31:31 +0000 (13:31 -0800)]
Merge pull request #54987 from batrick/i63822

pybind/mgr/devicehealth: skip legacy objects that cannot be loaded

Reviewed-by: Nitzan Mordechai <nmordech@redhat.com>
Reviewed-by: Yaarit Hatuka <yaarithatuka@gmail.com>
17 months agoMerge pull request #54491 from jianwei1216/fix_osd_pg_stat_report_interval_max_cmain
Yuri Weinstein [Wed, 24 Jan 2024 21:30:50 +0000 (13:30 -0800)]
Merge pull request #54491 from jianwei1216/fix_osd_pg_stat_report_interval_max_cmain

fix: resolve inconsistent judgment of osd_pg_stat_report_interval_max

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Matan Breizman <Matan.Brz@gmail.com>
17 months agoMerge pull request #53250 from YiteGu/add-perfcount-for-allocator
Yuri Weinstein [Wed, 24 Jan 2024 21:30:07 +0000 (13:30 -0800)]
Merge pull request #53250 from YiteGu/add-perfcount-for-allocator

os/bluestore: add perfcount for bluestore/bluefs allocator

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
17 months agoMerge pull request #52530 from amathuria/wip-amat-fix-59531
Yuri Weinstein [Wed, 24 Jan 2024 21:28:16 +0000 (13:28 -0800)]
Merge pull request #52530 from amathuria/wip-amat-fix-59531

osd: Add memstore to unsupported objstores for QoS

Reviewed-by: Sridhar Seshasayee <sseshasa@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
17 months agorgw: SAL drivers take `boost::asio::io_context`
Adam C. Emerson [Fri, 14 Apr 2023 18:59:19 +0000 (14:59 -0400)]
rgw: SAL drivers take `boost::asio::io_context`

`RadosDriver` needs it, and since SAL generally uses `optional_yield`,
other stores are going to need it to implement that sensibly.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
17 months agoceph/async: `io_context_pool` constructor/start takes init function
Adam C. Emerson [Fri, 14 Apr 2023 19:43:36 +0000 (15:43 -0400)]
ceph/async: `io_context_pool` constructor/start takes init function

Add overloads of the constructor and `start` that take an init
function, for setting up the thread before dropping into
`io_context::run`.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
17 months agocommon/async: `io_context_pool` constructor takes int64_t
Adam C. Emerson [Fri, 14 Apr 2023 18:58:16 +0000 (14:58 -0400)]
common/async: `io_context_pool` constructor takes int64_t

Just because this is what Ceph's config uses and it saves a narrowing
conversion. If we want to set a max value on the thread count, we
should do it in config.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
17 months agoinclude/inline_memory.h: Add missing includes to fix build
Adam Emerson [Wed, 10 Jan 2024 17:37:15 +0000 (12:37 -0500)]
include/inline_memory.h: Add missing includes to fix build

Signed-off-by: Adam Emerson <aemerson@redhat.com>
17 months ago.github: fix length of dependabot commit message prefix 55308/head
Laura Flores [Wed, 24 Jan 2024 20:37:04 +0000 (20:37 +0000)]
.github: fix length of dependabot commit message prefix

Followup to commit 265f727481c729fbe78dce7410def7de6fe869d1.

Fixes this error mesage under GitHub Insights (https://github.com/ceph/ceph/network/updates):

```
The property '#/updates/1/commit-message/prefix' was not of a maximum string length of 15
```

Signed-off-by: Laura Flores <lflores@ibm.com>
17 months agorbd-nbd: log errors during netlink_resize() using derr 55287/head
Ramana Raja [Tue, 23 Jan 2024 21:07:04 +0000 (16:07 -0500)]
rbd-nbd: log errors during netlink_resize() using derr

When using rbd CLI to map the images to NBD devices via netlink,
any errors that arose during image resizing in netlink_resize()
were not logged. Switching the error logging from using cerr to
derr helps log the errors from netlink_resize().

Signed-off-by: Ramana Raja <rraja@redhat.com>
17 months agorbd_nbd: fix resize of images mapped using netlink
Ramana Raja [Mon, 22 Jan 2024 22:06:58 +0000 (17:06 -0500)]
rbd_nbd: fix resize of images mapped using netlink

Include device identifier or cookie in the message sent to the kernel
to resize images mapped to NBD devices using netlink. Otherwise,
netlink_resize() fails and the size of the device isn't updated.

Fixes: https://tracker.ceph.com/issues/64139
Signed-off-by: Ramana Raja <rraja@redhat.com>
17 months agoMerge pull request #49462 from rzarzynski/wip-bug-53789
Laura Flores [Wed, 24 Jan 2024 20:00:03 +0000 (14:00 -0600)]
Merge pull request #49462 from rzarzynski/wip-bug-53789

osdc: fix the ENOCONN normalization in Objecter::_linger_reconnect()

17 months agoMerge pull request #55219 from samarahu/rgw_asio_frontend_asserts
Casey Bodley [Wed, 24 Jan 2024 18:39:14 +0000 (18:39 +0000)]
Merge pull request #55219 from samarahu/rgw_asio_frontend_asserts

rgw/asio: Add asserts to rgw_asio_frontend.cc

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
17 months agomgr/rook: increase minikube mem to 6GB to avoid stability issues 55182/head
Redouane Kachach [Wed, 24 Jan 2024 18:03:56 +0000 (19:03 +0100)]
mgr/rook: increase minikube mem to 6GB to avoid stability issues

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
17 months agoMerge pull request #55192 from dparmar18/fix_docstrings_ceph_test_case
Gregory Farnum [Wed, 24 Jan 2024 17:37:34 +0000 (09:37 -0800)]
Merge pull request #55192 from dparmar18/fix_docstrings_ceph_test_case

qa: typo fixes in ceph_test_case docstrings

17 months agoMerge pull request #53320 from jzhu116-bloomberg/wip-62710
Casey Bodley [Wed, 24 Jan 2024 16:01:43 +0000 (16:01 +0000)]
Merge pull request #53320 from jzhu116-bloomberg/wip-62710

rgw/multisite: maintain endpoints connectable status and retry the requests to them when appropriate

Reviewed-by: Mark Kogan <mkogan@ibm.com>
17 months agoMerge pull request #54941 from samsungceph/vstart_network_v2
Adam King [Wed, 24 Jan 2024 15:25:23 +0000 (10:25 -0500)]
Merge pull request #54941 from samsungceph/vstart_network_v2

vstart: Pick only CIDR-formatted routes when cephadm enabled

Reviewed-by: Adam King <adking@redhat.com>
17 months agocmake/arrow: don't treat warnings as errors 55303/head
Casey Bodley [Wed, 24 Jan 2024 14:44:25 +0000 (09:44 -0500)]
cmake/arrow: don't treat warnings as errors

with arrow's default BUILD_WARNING_LEVEL, -Werror is added to cflags and
debug builds fail on a warning about _FORTIFY_SOURCE

Fixes: https://tracker.ceph.com/issues/63130
Signed-off-by: Casey Bodley <cbodley@redhat.com>
17 months agoMerge pull request #53668 from mdw-at-linuxbox/wip-master-update-kmip-1
Casey Bodley [Wed, 24 Jan 2024 13:30:25 +0000 (13:30 +0000)]
Merge pull request #53668 from mdw-at-linuxbox/wip-master-update-kmip-1

Update libkmip to pull in some portability changes.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
17 months agomgr/rook: adding some basic rook e2e testing
Redouane Kachach [Mon, 15 Jan 2024 14:25:02 +0000 (15:25 +0100)]
mgr/rook: adding some basic rook e2e testing
Fixes: https://tracker.ceph.com/issues/64029
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
17 months agoRevert "crimson/os/alienstore/alien_log: _flush concurrently" 55288/head
Samuel Just [Tue, 23 Jan 2024 21:47:27 +0000 (21:47 +0000)]
Revert "crimson/os/alienstore/alien_log: _flush concurrently"

While submitting the log line asyncronously is reasonable,
with this implementation the EntryVector &q parameter does
not necessarily outlive the submission continuation.

This reverts commit 511af83e2747361350b60ce0ce88e67a726d9343.

Fixes: https://tracker.ceph.com/issues/64140
Signed-off-by: Samuel Just <sjust@redhat.com>
17 months agoMerge pull request #55183 from galsalomon66/s3select_fixes_QE_bugs
Gal Salomon [Tue, 23 Jan 2024 21:59:15 +0000 (23:59 +0200)]
Merge pull request #55183 from galsalomon66/s3select_fixes_QE_bugs

rgw/s3select: bug fixes per QE recent defects

17 months agoUpdate libkmip submodule to pull in some portability changes. 53668/head
Marcus Watts [Tue, 26 Sep 2023 07:04:35 +0000 (03:04 -0400)]
Update libkmip submodule to pull in some portability changes.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
17 months agoMerge pull request #55217 from ronen-fr/wip-rf-old-reserv
Ronen Friedman [Tue, 23 Jan 2024 19:39:35 +0000 (21:39 +0200)]
Merge pull request #55217 from ronen-fr/wip-rf-old-reserv

osd/scrub: check reservation replies for relevance

Reviewed-by: Samuel Just <sjust@redhat.com>-
17 months agoMerge pull request #55067 from yaarith/telemetry-pool-flags
Laura Flores [Tue, 23 Jan 2024 18:22:32 +0000 (12:22 -0600)]
Merge pull request #55067 from yaarith/telemetry-pool-flags

mgr/telemetry: add pool flags

17 months agoMerge pull request #55240 from rosinL/wip-fix-64032
Laura Flores [Tue, 23 Jan 2024 16:38:46 +0000 (10:38 -0600)]
Merge pull request #55240 from rosinL/wip-fix-64032

install-deps: Force remove ceph-libboost* packages

17 months agoMerge pull request #55278 from Himura2la/patch-2
zdover23 [Tue, 23 Jan 2024 15:58:23 +0000 (01:58 +1000)]
Merge pull request #55278 from Himura2la/patch-2

Docs: Specify correct fs type for mkfs on volume creation

Reviewed-by: Zac Dover <zac.dover@proton.me>
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
17 months agobug fixes per QE recent defects 55183/head
galsalomon66 [Mon, 15 Jan 2024 14:38:19 +0000 (16:38 +0200)]
bug fixes per QE recent defects
update for the engine_version message
s3select submodule

Signed-off-by: galsalomon66 <gal.salomon@gmail.com>
17 months agoMerge pull request #55277 from yuvalif/wip-yuval-63578
Casey Bodley [Tue, 23 Jan 2024 14:18:22 +0000 (14:18 +0000)]
Merge pull request #55277 from yuvalif/wip-yuval-63578

rgw/lua: fix compilation issue when lua packages are disabled

Reviewed-by: Casey Bodley <cbodley@redhat.com>
17 months agodoc: specify correct fs type for mkfs 55278/head
Himura Kazuto [Tue, 23 Jan 2024 12:59:10 +0000 (12:59 +0000)]
doc: specify correct fs type for mkfs

The default value is ext2, which is not supported (anymore?).

Signed-off-by: Vladislav Glagolev <vladislav.glagolev@devexpress.com>
17 months agorgw/lua: fix compilation issue when lua packages are disabled 55277/head
Yuval Lifshitz [Tue, 23 Jan 2024 11:09:26 +0000 (11:09 +0000)]
rgw/lua: fix compilation issue when lua packages are disabled

Fixes: https://tracker.ceph.com/issues/63578#change-253102
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
17 months agomgr/dashboard: Fix inconsistency in capitalisation of "Multi-site" 55270/head
Afreen [Tue, 23 Jan 2024 02:34:32 +0000 (08:04 +0530)]
mgr/dashboard: Fix inconsistency in capitalisation of "Multi-site"

fixes https://tracker.ceph.com/issues/64125

Across the dashboard, two instances are present: Multi-site and
Multi-Site.
Making it consistent all over by using Multi-site.

Signed-off-by: Afreen <afreen23.git@gmail.com>
17 months agoosd/scrub: check reservation replies for relevance 55217/head
Ronen Friedman [Wed, 17 Jan 2024 15:36:16 +0000 (09:36 -0600)]
osd/scrub: check reservation replies for relevance

Compare a token (nonce) carried in the reservation reply with the remembered
token of the reservation request.  If they don't match, the reply is
stale and should be ignored (and logged).

Fixes: https://tracker.ceph.com/issues/64052
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
17 months agoMerge pull request #55107 from ronen-fr/wip-rf-rm-penaltyq
Ronen Friedman [Tue, 23 Jan 2024 05:57:39 +0000 (07:57 +0200)]
Merge pull request #55107 from ronen-fr/wip-rf-rm-penaltyq

osd/scrub: remove the 'penalty queue' from the scrubber

Reviewed-by: Samuel Just <sjust@redhat.com>-
17 months agoMerge pull request #55269 from zdover23/wip-doc-2024-01-23-radosgw-admin-read-write...
zdover23 [Tue, 23 Jan 2024 02:31:46 +0000 (12:31 +1000)]
Merge pull request #55269 from zdover23/wip-doc-2024-01-23-radosgw-admin-read-write-global-rate-limit-config

doc/radosgw: edit "read/write global rate limit" admin.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
17 months agodoc/radosgw: edit "read/write global rate limit" admin.rst 55269/head
Zac Dover [Tue, 23 Jan 2024 02:13:10 +0000 (12:13 +1000)]
doc/radosgw: edit "read/write global rate limit" admin.rst

Edit "Reading/Writing Global Rate Limit Configuration" in
doc/radosgw/admin.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
17 months agoMerge pull request #55223 from athanatos/sjust/wip-64055
Samuel Just [Mon, 22 Jan 2024 21:26:19 +0000 (13:26 -0800)]
Merge pull request #55223 from athanatos/sjust/wip-64055

crimson: clear obc_registry on interval change

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
17 months agorgw/multisite: add multisite test cases with some rgw instances down 53320/head
Jane Zhu [Wed, 10 Jan 2024 05:40:35 +0000 (00:40 -0500)]
rgw/multisite: add multisite test cases with some rgw instances down

Signed-off-by: Juan Zhu <jzhu4@dev-10-34-20-139.pw1.bcc.bloomberg.com>
17 months agoMerge pull request #55070 from pdvian/wip-fix-progressevent
Yuri Weinstein [Mon, 22 Jan 2024 16:18:41 +0000 (08:18 -0800)]
Merge pull request #55070 from pdvian/wip-fix-progressevent

mon: initialize ProgressEvent::add_to_ceph_s

Reviewed-by: Laura Flores <lflores@redhat.com>
17 months agoMerge pull request #53154 from ifed01/wip-ifed-no-death-tests
Yuri Weinstein [Mon, 22 Jan 2024 16:17:35 +0000 (08:17 -0800)]
Merge pull request #53154 from ifed01/wip-ifed-no-death-tests

test/store_test: get rid off assert_death.

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
17 months agoMerge pull request #49415 from ljflores/wip-update-telemetry-upgrade
Yuri Weinstein [Mon, 22 Jan 2024 16:13:17 +0000 (08:13 -0800)]
Merge pull request #49415 from ljflores/wip-update-telemetry-upgrade

qa/workunits: update telemetry quincy workunits with `basic_pool_options_bluestore` collection

Reviewed-by: Yaarit Hatuka <yaarithatuka@gmail.com>
17 months agoosd/scrub: update job's NB on failure 55107/head
Ronen Friedman [Tue, 2 Jan 2024 16:09:06 +0000 (10:09 -0600)]
osd/scrub: update job's NB on failure

When a scrub job fails, update its NB to the current time plus a
fixed delay.  This prevents the job from being scheduled again
immediately.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
17 months agoosd/scrub: fix set_last_deep_scrub_stamp()
Ronen Friedman [Tue, 9 Jan 2024 14:15:33 +0000 (08:15 -0600)]
osd/scrub: fix set_last_deep_scrub_stamp()

The call should update last_scrub_stamp, too, without
requiring an extra call to on_scrub_schedule_input_change()

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
17 months agoosd/scrub: introduce a 'not before' attribute for scrub jobs
Ronen Friedman [Sun, 31 Dec 2023 16:18:09 +0000 (10:18 -0600)]
osd/scrub: introduce a 'not before' attribute for scrub jobs

The NB enables the OSD to delay the next attempt to schedule a specific
scrub job.  This is useful for jobs that have failed for whatever
reason, especially if the primary has failed to acquire the replicas.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
17 months agoosd/scrub: remove the 'penalized jobs' queue
Ronen Friedman [Sat, 30 Dec 2023 12:36:26 +0000 (06:36 -0600)]
osd/scrub: remove the 'penalized jobs' queue

The 'penalized jobs' queue was used to track scrub jobs that had failed
to acquire their replicas, and to prevent those jobs from being retried
too quickly.  This functionality will be replaced by a
simple 'not before' delay (see the next commits).

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
17 months agocrimson/osd/osd_operations/scrub_events: fix to use get_peering_request_pipeline() 54896/head
Yingxin Cheng [Mon, 22 Jan 2024 08:53:16 +0000 (16:53 +0800)]
crimson/osd/osd_operations/scrub_events: fix to use get_peering_request_pipeline()

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
17 months agocrimson/osd: drop a foreign-copy to shard-0 for every pg operation
Yingxin Cheng [Mon, 11 Dec 2023 06:38:51 +0000 (14:38 +0800)]
crimson/osd: drop a foreign-copy to shard-0 for every pg operation

By using ConnectionRef before pg submission, and after that, change to
use ConnectionXcoreRef.

The intent is to drop the foreign copy of the connection to shard 0 at
pg submission time. This should remove two pairs of crosscore
communications in shard 0 for each I/O, one for connection-ref foreign
copy, another for connection-ref destruction.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
17 months agoMerge pull request #55262 from Matan-B/wip-matanb-crimson-bluestore-submit
Matan Breizman [Mon, 22 Jan 2024 08:44:23 +0000 (10:44 +0200)]
Merge pull request #55262 from Matan-B/wip-matanb-crimson-bluestore-submit

crimson/os/alienstore/alien_log: _flush concurrently

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
17 months agocrimson/osd/osd_operations/client_request: don't use and move pgref at the same time
Yingxin Cheng [Tue, 9 Jan 2024 06:39:41 +0000 (14:39 +0800)]
crimson/osd/osd_operations/client_request: don't use and move pgref at the same time

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
17 months agocrimson/osd/osd_operations/client_request: cleanup shard_services
Yingxin Cheng [Mon, 8 Jan 2024 06:25:20 +0000 (14:25 +0800)]
crimson/osd/osd_operations/client_request: cleanup shard_services

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
17 months agocrimson/os/alienstore/alien_log: _flush concurrently 55262/head
Matan Breizman [Sun, 21 Jan 2024 09:33:59 +0000 (09:33 +0000)]
crimson/os/alienstore/alien_log: _flush concurrently

In continuation to c15e56e386251403a876454f6a4aa186284565e1

Authored-by: Yingxin Cheng <yingxin.cheng@intel.com>
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
17 months agoMerge pull request #55190 from zdover23/wip-doc-2024-01-16-radosgw-admin-enable-disab...
zdover23 [Sun, 21 Jan 2024 09:47:10 +0000 (19:47 +1000)]
Merge pull request #55190 from zdover23/wip-doc-2024-01-16-radosgw-admin-enable-disable-bucket-rate-limit

doc/radosgw: edit "Enable/Disable Bucket Rate Limit"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
17 months agoMerge pull request #53288 from rzarzynski/wip-crimson-dont-shadow-store-in-ecbackend
Matan Breizman [Sun, 21 Jan 2024 08:44:29 +0000 (10:44 +0200)]
Merge pull request #53288 from rzarzynski/wip-crimson-dont-shadow-store-in-ecbackend

crimson: drop store from ECBackend to not shadow PGBackend::store

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
17 months agoMerge pull request #54813 from amathuria/wip-crimson-amat-fix-config-set-cmd
Matan Breizman [Sun, 21 Jan 2024 08:43:59 +0000 (10:43 +0200)]
Merge pull request #54813 from amathuria/wip-crimson-amat-fix-config-set-cmd

src/crimson: Add support for the OSD to receive config changes

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
17 months agoMerge pull request #55127 from idryomov/wip-63341
Ilya Dryomov [Sat, 20 Jan 2024 17:43:35 +0000 (18:43 +0100)]
Merge pull request #55127 from idryomov/wip-63341

librbd: improve rbd_diff_iterate2() performance in fast-diff mode

Reviewed-by: Mykola Golub <mgolub@suse.com>
17 months agoPendingReleaseNotes: add rbd_diff_iterate2 note 55127/head
Ilya Dryomov [Sat, 20 Jan 2024 15:00:46 +0000 (16:00 +0100)]
PendingReleaseNotes: add rbd_diff_iterate2 note

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agolibrbd: try to preserve object map for diff-iterate in fast-diff mode
Ilya Dryomov [Sat, 6 Jan 2024 16:08:04 +0000 (17:08 +0100)]
librbd: try to preserve object map for diff-iterate in fast-diff mode

As an optimization, try to ensure that the object map for the end
version is preloaded through the acquisition of exclusive lock and
as a consequence remains around until exclusive lock is released.
If it's not around, DiffRequest would (re)load it on each call.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agolibrbd/object_map: potentially use in-memory object map in DiffRequest
Ilya Dryomov [Sat, 6 Jan 2024 16:05:39 +0000 (17:05 +0100)]
librbd/object_map: potentially use in-memory object map in DiffRequest

If the object map for the end version is around (already loaded in
memory, either due to the end version being a snapshot or due to
exclusive lock being held), use it to run diff-iterate against the
beginning of time.  Since it's the only object map needed in that
case, such calls would be satisfied locally.

Fixes: https://tracker.ceph.com/issues/63341
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agolibrbd/object_map: decouple object map processing in DiffRequest
Ilya Dryomov [Fri, 5 Jan 2024 12:15:54 +0000 (13:15 +0100)]
librbd/object_map: decouple object map processing in DiffRequest

In preparation for potentially using in-memory object map, decouple
object map processing from loading object maps and place the logic in
prepare_for_object_map() and process_object_map().

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agocommon/bit_vector: fix iterator vs reference constness confusion
Ilya Dryomov [Fri, 5 Jan 2024 11:23:24 +0000 (12:23 +0100)]
common/bit_vector: fix iterator vs reference constness confusion

T (ConstIterator or Iterator) is confused with const T here:
IteratorImpl dereference operator is wrongly overloaded on const
and returns Reference instead of ConstReference for ConstIterator.
This then fails inside bufferlist bowels because Reference is
incompatible with bufferlist::const_iterator.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agolibrbd/object_map: make object map in handle_load_object_map() local
Ilya Dryomov [Thu, 4 Jan 2024 10:44:46 +0000 (11:44 +0100)]
librbd/object_map: make object map in handle_load_object_map() local

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agolibrbd/object_map: don't resize object map in handle_load_object_map()
Ilya Dryomov [Thu, 4 Jan 2024 10:39:20 +0000 (11:39 +0100)]
librbd/object_map: don't resize object map in handle_load_object_map()

Currently it's done in two cases:

- if the loaded object map is larger than expected based on byte size,
  it's truncated to expected number of objects
- in case of deep-copy, if the loaded object map is smaller than diff
  state, it's expanded to get "track the largest of all versions in the
  set" semantics

Both of these cases can be easily dealt with without modifying the
object map.  Being able to process a const object map is needed for
working on in-memory object map which is external to DiffRequest.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agocommon/bit_vector: fix IteratorImpl post-increment operator
Ilya Dryomov [Sat, 6 Jan 2024 11:22:35 +0000 (12:22 +0100)]
common/bit_vector: fix IteratorImpl post-increment operator

It's totally broken: instead of returning the current position and
moving to the next position, it returns the next position and doesn't
move anywhere.  Luckily it hasn't been used until now.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agolibrbd: drop DiffIterate::diff_object_map() declaration
Ilya Dryomov [Thu, 28 Dec 2023 09:52:11 +0000 (10:52 +0100)]
librbd: drop DiffIterate::diff_object_map() declaration

This is a leftover from commit 2b3a46801d39 ("librbd: switch
diff-iterate API to use new object-map diff helper").

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agolibrbd: propagate diff-iterate range to parent in fast-diff mode
Ilya Dryomov [Thu, 28 Dec 2023 09:14:18 +0000 (10:14 +0100)]
librbd: propagate diff-iterate range to parent in fast-diff mode

When getting parent diff, pass the overlap-reduced image extent instead
of the entire 0..overlap range to avoid a similar quadratic slowdown on
cloned images.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agolibrbd/object_map: add support for ranged diff-iterate
Ilya Dryomov [Wed, 27 Dec 2023 17:07:05 +0000 (18:07 +0100)]
librbd/object_map: add support for ranged diff-iterate

Currently diff-iterate in fast-diff mode is performed on the entire
image no matter what image extent is passed to the API.  Then, unused
diff just gets discarded as DiffIterate ends up querying only objects
that the passed image extent maps to.  This hasn't been an issue for
internal consumers ("rbd du", "rbd diff", etc) because they work on the
entire image, but turns out to lead to quadratic slowdown in some QEMU
use cases.

0..UINT64_MAX range is carved out for deep-copy which is unranged by
definition.  To get effectively unranged diff-iterate, 0..UINT64_MAX-1
range can be used.

Fixes: https://tracker.ceph.com/issues/63341
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agoinclude/intarith: introduce round_down_to()
Ilya Dryomov [Wed, 27 Dec 2023 15:18:50 +0000 (16:18 +0100)]
include/intarith: introduce round_down_to()

Same as with round_up_to(), d isn't required to be a power of two.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agotest/librbd: expand TestMockObjectMapDiffRequest edge case coverage
Ilya Dryomov [Sat, 23 Dec 2023 14:19:09 +0000 (15:19 +0100)]
test/librbd: expand TestMockObjectMapDiffRequest edge case coverage

For each covered edge case or error, run through the following
scenarios:

- where the edge case concerns snap_id_start
- where the edge case concerns snap_id_end
- where the edge case concerns intermediate snapshot and
  snap_id_start == 0 (diff against the beginning of time)
- where the edge case concerns intermediate snapshot and
  snap_id_start != 0 (diff from snapshot)

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agolibrbd/object_map: allow intermediate snaps to be skipped on diff-iterate
Ilya Dryomov [Sat, 23 Dec 2023 13:47:54 +0000 (14:47 +0100)]
librbd/object_map: allow intermediate snaps to be skipped on diff-iterate

In case of diff-iterate against the beginning of time, the result
depends only on the end version.  Loading and processing object maps
or intermediate snapshots is redundant and can be skipped.

This optimization is made possible by commit be507aaed15f ("librbd:
diff-iterate shouldn't ever report "new hole" against a hole") and, to
a lesser extent, the previous commit.

Getting FastDiffInvalid, LoadObjectMapError and ObjectMapTooSmall to
pass required tweaking not just expectations, but also start/end snap
ids and thus also the meaning of these tests.  This is addressed in the
next commit.

Fixes: https://tracker.ceph.com/issues/63341
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
17 months agolibrbd/object_map: resurrect diff-iterate behavior when image is shrunk
Ilya Dryomov [Fri, 22 Dec 2023 17:50:20 +0000 (18:50 +0100)]
librbd/object_map: resurrect diff-iterate behavior when image is shrunk

The new "track the largest of all versions in the set, diff state is
only ever grown" semantics introduced in commit 330f2a7bb94f ("librbd:
helper state machine for computing diffs between object-maps") don't
make sense for diff-iterate.  It's a waste because DiffIterate won't
query beyond the end version size -- this is baked into the API.

Limit this behavior to deep-copy and resurrect the original behavior
from 2015 for diff-iterate.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>