]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
19 months agorgw: split RGWDataAccess from rgw_tools.cc 54878/head
Yuval Lifshitz [Tue, 12 Dec 2023 15:06:01 +0000 (15:06 +0000)]
rgw: split RGWDataAccess from rgw_tools.cc

that class is not rados specific, while the rest of the code
in rgw_tools.cc is

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
19 months agoMerge pull request #54875 from zdover23/wip-doc-2023-12-12-radosgw-role-create-a...
Anthony D'Atri [Tue, 12 Dec 2023 14:17:32 +0000 (09:17 -0500)]
Merge pull request #54875 from zdover23/wip-doc-2023-12-12-radosgw-role-create-a-role

doc/radosgw: format "Create a Role"

19 months agodoc/radosgw: format "Create a Role" 54875/head
Zac Dover [Tue, 12 Dec 2023 12:09:13 +0000 (22:09 +1000)]
doc/radosgw: format "Create a Role"

Properly format the section "Create a Role" in the file
doc/radosgw/role.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoMerge pull request #54750 from ivoalmeida/snapshot-schedule-list
Aashish Sharma [Tue, 12 Dec 2023 08:22:39 +0000 (13:52 +0530)]
Merge pull request #54750 from ivoalmeida/snapshot-schedule-list

mgr/dashboard: added snap-schedule api and ui list

Reviewed-by: Nizamudeen A <nia@redhat.com>
19 months agoMerge pull request #53483 from ifed01/wip-ifed-no-alloc-lba-align
Yuri Weinstein [Mon, 11 Dec 2023 19:01:09 +0000 (11:01 -0800)]
Merge pull request #53483 from ifed01/wip-ifed-no-alloc-lba-align

os/bluestore: get rid off resulting lba alignment in allocators

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
19 months agomgr/dashboard: added snap-schedule api and ui list 54750/head
Ivo Almeida [Sat, 25 Nov 2023 19:10:35 +0000 (19:10 +0000)]
mgr/dashboard: added snap-schedule api and ui list

Fixes: https://tracker.ceph.com/issues/63767
Signed-off-by: Ivo Almeida <ialmeida@redhat.com>
19 months agoMerge pull request #53830 from alimaredia/wip-test-librgw-file-sh-vstart
Casey Bodley [Mon, 11 Dec 2023 14:43:28 +0000 (14:43 +0000)]
Merge pull request #53830 from alimaredia/wip-test-librgw-file-sh-vstart

qa: enable test_librgw_file.sh to be run with vstart cluster

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge PR #54726 into main
Patrick Donnelly [Mon, 11 Dec 2023 13:37:39 +0000 (08:37 -0500)]
Merge PR #54726 into main

* refs/pull/54726/head:
PendingReleaseNotes: announce cephfs-shell avail. on rhel9
qa: test fs:shell on all distros
qa: add cephfs-shell to installed rpm packages
ceph.spec.in: enable support for cephfs-shell by default via EPEL9

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
19 months agoMerge pull request #54779 from rishabh-d-dave/fs-release-notes
Rishabh Dave [Mon, 11 Dec 2023 11:02:48 +0000 (16:32 +0530)]
Merge pull request #54779 from rishabh-d-dave/fs-release-notes

cephfs: add a couple of release notes

Reviewed-by: Venky Shankar <vshankar@redhat.com>
19 months agoMerge pull request #54848 from idryomov/wip-diff-iterate-test-fixup
Ilya Dryomov [Mon, 11 Dec 2023 10:47:22 +0000 (11:47 +0100)]
Merge pull request #54848 from idryomov/wip-diff-iterate-test-fixup

test/librbd: close image in DiffIterateDeterministic

Reviewed-by: Mykola Golub <mgolub@suse.com>
19 months agoMerge pull request #54847 from idryomov/wip-journaling-test-fixups
Ilya Dryomov [Mon, 11 Dec 2023 10:08:08 +0000 (11:08 +0100)]
Merge pull request #54847 from idryomov/wip-journaling-test-fixups

test/librbd: avoid config-related crashes in DiscardWithPruneWriteOverlap

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
19 months agoMerge pull request #53054 from xxhdx1985126/wip-crimson-pg-proj-last-update
Samuel Just [Mon, 11 Dec 2023 04:01:05 +0000 (20:01 -0800)]
Merge pull request #53054 from xxhdx1985126/wip-crimson-pg-proj-last-update

crimson/osd/pg: set PG::projected_last_update when submitting transactions

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
19 months agoMerge pull request #53078 from xxhdx1985126/wip-crimson-pg-recovery
Samuel Just [Mon, 11 Dec 2023 04:00:31 +0000 (20:00 -0800)]
Merge pull request #53078 from xxhdx1985126/wip-crimson-pg-recovery

crimson/osd/pg_recovery: avoiding duplicated object recovering

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
19 months agoMerge pull request #53127 from xxhdx1985126/wip-crimson-obc-iteration
Samuel Just [Mon, 11 Dec 2023 03:59:30 +0000 (19:59 -0800)]
Merge pull request #53127 from xxhdx1985126/wip-crimson-obc-iteration

crimson/osd/pg: discard watches' states after iterating all cached obcs

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
19 months agoMerge pull request #53409 from xxhdx1985126/wip-crimson-recover-head-first
Samuel Just [Mon, 11 Dec 2023 03:58:55 +0000 (19:58 -0800)]
Merge pull request #53409 from xxhdx1985126/wip-crimson-recover-head-first

crimson/osd/pg_recovery: recover head before recovering clones

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
19 months agoMerge pull request #53985 from xxhdx1985126/wip-63186
Samuel Just [Mon, 11 Dec 2023 03:57:57 +0000 (19:57 -0800)]
Merge pull request #53985 from xxhdx1985126/wip-63186

crimson/osd: store "final pool info" for pools that are deleted

Reviewed-by: Samuel Just <sjust@redhat.com>
19 months agoMerge pull request #53306 from xxhdx1985126/wip-clone-wait-head
Samuel Just [Mon, 11 Dec 2023 03:56:45 +0000 (19:56 -0800)]
Merge pull request #53306 from xxhdx1985126/wip-clone-wait-head

crimson/osd/osd_operations/client_request: recover the head and other necessary objects before proceeding

Reviewed-by: Samuel Just <sjust@redhat.com>
19 months agoMerge pull request #53130 from cyx1231st/wip-crimson-drop-mempool
Yingxin [Mon, 11 Dec 2023 01:39:50 +0000 (09:39 +0800)]
Merge pull request #53130 from cyx1231st/wip-crimson-drop-mempool

mempool: avoid true sharing for the counters, with crimson

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Laura Flores <lflores@ibm.com>
19 months agoMerge pull request #54845 from zdover23/wip-doc-2023-12-09-radosgw-role-2
zdover23 [Sun, 10 Dec 2023 22:58:46 +0000 (23:58 +0100)]
Merge pull request #54845 from zdover23/wip-doc-2023-12-09-radosgw-role-2

doc/radosgw: edit front matter - role.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agodoc/radosgw: edit front matter - role.rst 54845/head
Zac Dover [Fri, 8 Dec 2023 19:45:43 +0000 (20:45 +0100)]
doc/radosgw: edit front matter - role.rst

Clarify the front matter in doc/radosgw/role.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoMerge pull request #54789 from yuvalif/wip-yuval-remove-lua-devel
Yuval Lifshitz [Sun, 10 Dec 2023 20:47:53 +0000 (22:47 +0200)]
Merge pull request #54789 from yuvalif/wip-yuval-remove-lua-devel

build/rgw/lua: remove luarocks support from rhel8

reviewed-by: batrick, cbodley, mchangir

19 months agobuild/rgw/lua: remove lua-devel as a runtime dependency 54789/head
Yuval Lifshitz [Tue, 5 Dec 2023 18:36:20 +0000 (18:36 +0000)]
build/rgw/lua: remove lua-devel as a runtime dependency

this is due to the fact that lua-devel
cannot be installed in teuthology for rhel8

this would fail the build of some luarocks packages

Fixes: https://tracker.ceph.com/issues/63672
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
19 months agotest/librbd: close image in DiffIterateDeterministic 54848/head
Ilya Dryomov [Sat, 9 Dec 2023 15:26:25 +0000 (16:26 +0100)]
test/librbd: close image in DiffIterateDeterministic

... to avoid valgrind reporting a memory leak on ImageCtx.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agotest/librbd: actually alternate overlaps in DiscardWithPruneWriteOverlap 54847/head
Ilya Dryomov [Sat, 9 Dec 2023 20:00:51 +0000 (21:00 +0100)]
test/librbd: actually alternate overlaps in DiscardWithPruneWriteOverlap

Make sense of the inner loop in write_thread.  The crash on
"it != m_events.end()" assert reproduces even faster this way.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agotest/librbd: avoid config-related crashes in DiscardWithPruneWriteOverlap
Ilya Dryomov [Sat, 9 Dec 2023 20:00:42 +0000 (21:00 +0100)]
test/librbd: avoid config-related crashes in DiscardWithPruneWriteOverlap

For reasons that I think no longer apply today, set_val() and
set_val_or_die() refuse to set "type: str" config options that aren't
marked as "can be changed at runtime" -- set_val() returns an error and
set_val_or_die() terminates the process.  What is and isn't marked as
"can be changed at runtime" seems to be pretty much random both within
and outside of RBD, so let's just refactor how config is set here.

While at it, I realized that reproducer config is underspecified:

- for rbd_cache_policy and rbd_cache_writethrough_until_flush settings
  to matter, rbd_cache must be set to true and rbd_cache_max_dirty must
  be set to a positive number

- order should be set explicitly, because rbd_default_order can be as
  low as 12 (for 4096-byte objects), interfering with the logic of the
  test

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agoMerge pull request #54378 from adk3798/cephadm-jinja2-logrotate
Adam King [Sat, 9 Dec 2023 19:56:34 +0000 (14:56 -0500)]
Merge pull request #54378 from adk3798/cephadm-jinja2-logrotate

cephadm: move logrotate configs to jinja2 template

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
19 months agoMerge pull request #54846 from zdover23/wip-doc-2023-12-09-radosgw-role
Anthony D'Atri [Sat, 9 Dec 2023 14:16:22 +0000 (09:16 -0500)]
Merge pull request #54846 from zdover23/wip-doc-2023-12-09-radosgw-role

doc/radosgw: format POST statements

19 months agodoc/radosgw: format POST statements 54846/head
Zac Dover [Sat, 9 Dec 2023 03:46:00 +0000 (04:46 +0100)]
doc/radosgw: format POST statements

Format the POST methods so that they appear in the rendered text as
examples of POST API calls and not as plain old unformatted text, which
is how they looked before this commit. The content of these API calls
remains to be tested and confirmed to work, but this is a first step.

Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoMerge pull request #54839 from cbodley/wip-librbd-strands
Ilya Dryomov [Fri, 8 Dec 2023 22:47:31 +0000 (23:47 +0100)]
Merge pull request #54839 from cbodley/wip-librbd-strands

librbd: include asio strand headers in librbd.cc

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
19 months agoMerge pull request #54827 from cbodley/wip-vstart-dbstore
Casey Bodley [Fri, 8 Dec 2023 21:57:20 +0000 (21:57 +0000)]
Merge pull request #54827 from cbodley/wip-vstart-dbstore

vstart: add --rgw_store option for rados|dbstore|posix

Reviewed-by: Ali Maredia <amaredia@redhat.com>
19 months agoMerge pull request #54546 from sonetto-lmz/post-etag
Casey Bodley [Fri, 8 Dec 2023 19:45:28 +0000 (19:45 +0000)]
Merge pull request #54546 from sonetto-lmz/post-etag

rgw: fix post obj does not return the response etag field

Reviewed-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
19 months agoMerge pull request #54622 from BBoozmen/oozmen_lc_work_time
Casey Bodley [Fri, 8 Dec 2023 19:44:56 +0000 (19:44 +0000)]
Merge pull request #54622 from BBoozmen/oozmen_lc_work_time

[rgw][lc][rgw_lifecycle_work_time] adjust timing if the configured end time is less than the start time

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
19 months agoMerge pull request #54668 from qiuxinyidian/rgw-frontend
Casey Bodley [Fri, 8 Dec 2023 19:44:35 +0000 (19:44 +0000)]
Merge pull request #54668 from qiuxinyidian/rgw-frontend

add checking for rgw frontend init

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
19 months agoMerge pull request #54738 from cbodley/wip-63485
Casey Bodley [Fri, 8 Dec 2023 19:43:54 +0000 (19:43 +0000)]
Merge pull request #54738 from cbodley/wip-63485

rgw/iam: admin/system users ignore iam policy parsing errors

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
19 months agoMerge pull request #54749 from cbodley/wip-rgw-zone-old-pools
Casey Bodley [Fri, 8 Dec 2023 19:43:31 +0000 (19:43 +0000)]
Merge pull request #54749 from cbodley/wip-rgw-zone-old-pools

rgw/zone: remove check for (very) old pools config

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
Reviewed-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
19 months agolibrbd: include asio strand headers in librbd.cc 54839/head
Casey Bodley [Fri, 8 Dec 2023 16:24:54 +0000 (11:24 -0500)]
librbd: include asio strand headers in librbd.cc

Fixes: https://tracker.ceph.com/issues/63682
Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agovstart: add --rgw_store option for rados|dbstore|posix 54827/head
Casey Bodley [Thu, 7 Dec 2023 14:11:12 +0000 (09:11 -0500)]
vstart: add --rgw_store option for rados|dbstore|posix

enables dbstore for rgw_backend_store and rgw_config_store, allowing
vstart to run without any mons or osds. database files are put under
the dev subdirectory

when rgw_store=posix, the posix filter is added on top of dbstore

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agocephfs: move release note for PR #41779 to right spot 54779/head
Rishabh Dave [Tue, 5 Dec 2023 05:49:07 +0000 (11:19 +0530)]
cephfs: move release note for PR #41779 to right spot

Release note for PR #41779 applies releases after Reef, not  Reef
onwards. Move the release note accordingly.

Fixes: https://github.com/ceph/ceph/pull/41779
Fixes: https://tracker.ceph.com/issues/47264
Signed-off-by: Rishabh Dave <ridave@redhat.com>
19 months agoMerge pull request #54751 from zdover23/wip-doc-2023-12-02-radosgw-multisite-starting...
zdover23 [Fri, 8 Dec 2023 05:09:15 +0000 (06:09 +0100)]
Merge pull request #54751 from zdover23/wip-doc-2023-12-02-radosgw-multisite-starting-the-gateway

doc/radosgw: add gateway starting command

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agoMerge pull request #54773 from phlogistonjohn/jjm-cephadm-zipapp-templating-again
Adam King [Thu, 7 Dec 2023 19:33:12 +0000 (14:33 -0500)]
Merge pull request #54773 from phlogistonjohn/jjm-cephadm-zipapp-templating-again

cephadm: simplify loading jinja2 templates from zipapp

Reviewed-by: Adam King <adking@redhat.com>
19 months agoMerge pull request #54278 from smanjara/wip-fix-rgw-full-sync
Casey Bodley [Thu, 7 Dec 2023 15:05:47 +0000 (15:05 +0000)]
Merge pull request #54278 from smanjara/wip-fix-rgw-full-sync

rgw/multisite: fix marker_tracker flush() call in incremental sync

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #54810 from mkogan1/rgw-wip-t63445-valg-supp-rb
Casey Bodley [Thu, 7 Dec 2023 15:03:39 +0000 (15:03 +0000)]
Merge pull request #54810 from mkogan1/rgw-wip-t63445-valg-supp-rb

rgw: d3n: fix valgrind reported leak related to libaio worker threads

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #54809 from joscollin/wip-doc-mirror-add-supported-file-types
zdover23 [Thu, 7 Dec 2023 07:41:19 +0000 (08:41 +0100)]
Merge pull request #54809 from joscollin/wip-doc-mirror-add-supported-file-types

doc: add supported file types in cephfs-mirroring.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agoMerge pull request #54377 from baergj/fix-journal-tid-association-try2-upstream
Ilya Dryomov [Wed, 6 Dec 2023 20:11:19 +0000 (21:11 +0100)]
Merge pull request #54377 from baergj/fix-journal-tid-association-try2-upstream

librbd: Append one journal event per image request

Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
19 months agoMerge pull request #54799 from cbodley/wip-osd-scrub-signed-warning
Casey Bodley [Wed, 6 Dec 2023 13:12:57 +0000 (13:12 +0000)]
Merge pull request #54799 from cbodley/wip-osd-scrub-signed-warning

osd/scrubber: fix signed comparison warning

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
19 months agodoc: add supported file types in cephfs-mirroring.rst 54809/head
Jos Collin [Wed, 6 Dec 2023 12:37:12 +0000 (18:07 +0530)]
doc: add supported file types in cephfs-mirroring.rst

Signed-off-by: Jos Collin <jcollin@redhat.com>
19 months agorgw: d3n: fix valgrind reported leak related to libaio worker threads 54810/head
Mark Kogan [Tue, 28 Nov 2023 12:34:31 +0000 (14:34 +0200)]
rgw: d3n: fix valgrind reported leak related to libaio worker threads

which sporadically reproduces on teuthology ubuntu instances

happens because a race between RGW shutdown occurring before
the libaio worker threads had terminated

to fix, reduced the libaio threads inactivity shutdown time

ref:
man aio_init
...
aio_idle_time
This field specifies the amount of time in seconds that a worker thread
should wait for further requests before terminating, after having
completed a previous request.   The
default value is 1.
...

Fixes: https://tracker.ceph.com/issues/63445
Signed-off-by: Mark Kogan <mkogan@ibm.com>
19 months agoMerge pull request #54755 from idryomov/wip-63654
Ilya Dryomov [Wed, 6 Dec 2023 10:49:32 +0000 (11:49 +0100)]
Merge pull request #54755 from idryomov/wip-63654

librbd: fix regressions in ObjectListSnapsRequest

Reviewed-by: Mykola Golub <mgolub@suse.com>
19 months agoMerge pull request #54804 from rhcs-dashboard/upgrade-grafana-9.4.12
Nizamudeen A [Wed, 6 Dec 2023 10:08:41 +0000 (15:38 +0530)]
Merge pull request #54804 from rhcs-dashboard/upgrade-grafana-9.4.12

monitoring: upgrade grafana container to 9.4.12

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
19 months agoMerge pull request #54670 from trociny/wip-cython-3
Ilya Dryomov [Wed, 6 Dec 2023 09:52:09 +0000 (10:52 +0100)]
Merge pull request #54670 from trociny/wip-cython-3

pybind/rbd: fix compilation with cython3

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
19 months agoMerge pull request #54790 from zdover23/wip-doc-2023-12-05-radosgw-rgw-cache-nginx... wip-yuval-test-63335
zdover23 [Wed, 6 Dec 2023 08:32:27 +0000 (09:32 +0100)]
Merge pull request #54790 from zdover23/wip-doc-2023-12-05-radosgw-rgw-cache-nginx-link-update

doc/radosgw: update link in rgw-cache.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agodoc/radosgw: add gateway starting command 54751/head
Zac Dover [Sat, 2 Dec 2023 05:32:26 +0000 (06:32 +0100)]
doc/radosgw: add gateway starting command

Add a command that properly starts (or restarts) the RADOS gateway after
RGW settings have been changed. This commit has been added in response
to an issue reported anonymously on
https://pad.ceph.com/p/Report_Documentation_Bugs.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoMerge pull request #54215 from kchheda3/wip-fix-kafka-break
Yuval Lifshitz [Wed, 6 Dec 2023 08:21:42 +0000 (10:21 +0200)]
Merge pull request #54215 from kchheda3/wip-fix-kafka-break

rgw/notification: Kafka persistent notifications not retried and removed even when the broker is down

reviewd-by: cbodley, yuvalif

19 months agomonitoring: upgrade grafana container to 9.4.12 54804/head
Nizamudeen A [Wed, 6 Dec 2023 06:26:44 +0000 (11:56 +0530)]
monitoring: upgrade grafana container to 9.4.12

Fixes the CVEs mentioned here: https://grafana.com/blog/2023/06/06/grafana-security-release-new-grafana-versions-with-security-fixes-for-cve-2023-2183-and-cve-2023-2801/

Signed-off-by: Nizamudeen A <nia@redhat.com>
19 months agoMerge pull request #54787 from cbodley/wip-versioned-variant-inline
Casey Bodley [Wed, 6 Dec 2023 01:55:57 +0000 (01:55 +0000)]
Merge pull request #54787 from cbodley/wip-versioned-variant-inline

common: use inline for monostate dencoders

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
19 months agotest/librbd: Add workaround for a journaling deadlock that this test exposes 54377/head
Joshua Baergen [Wed, 29 Nov 2023 15:47:01 +0000 (08:47 -0700)]
test/librbd: Add workaround for a journaling deadlock that this test exposes

Signed-off-by: Joshua Baergen <jbaergen@digitalocean.com>
19 months agolibrbd: Append one journal event per image request
Joshua Baergen [Thu, 9 Nov 2023 16:43:22 +0000 (09:43 -0700)]
librbd: Append one journal event per image request

In the case where an image request is split across multiple object
extents and journaling is enabled, multiple journal events are appended.
Prior to this change, all object requests would wait for the last
journal event to complete, since journal events complete in order and
thus the last one completing implies that all prior journal events were
safe at that point.

The issue with this is that there's nothing stopping that last journal
event from being cleaned up before all object requests have stopped
referring to it. Thus, it's entirely possible for the following sequence
to occur:
1. An image request gets split into two image extents and two object
   requests. Journal events are appended (one per image extent).
2. The first object request gets delayed due to an overlap, but the
   second object request gets submitted and starts waiting on the last
   journal event (which also causes a C_CommitIOEvent to be instantiated
   against that journal event).
3. Journaling completes, and the C_CommitIOEvent fires. The
   C_CommitIOEvent covers the entire range of data that was journaled in
   this event, and so the event is cleaned up.
4. The first object request from above is allowed to make progress; it
   tries to wait for the journal event that was just cleaned up which
   causes the assert in wait_event() to fire.

As far as I can tell, this is only possible on the discard path today,
and only recently. Up until 21a26a752843295ff946d1543c2f5f9fac764593
(librbd: Fix local rbd mirror journals growing forever), m_image_extents
always contained a single extent for all I/O types; this commit changed
the discard path so that if discard granularity changed the discard
request, m_image_extents would be repopulated, and if the request
happened to cross objects then there would be multiple m_image_extents.

It appears that the intent here was that there should be one journal
event per image request and the pending_extents kept track of what had
completed thus far. This commit restores that 1:1 relationship.

Fixes: https://tracker.ceph.com/issues/63422
Signed-off-by: Joshua Baergen <jbaergen@digitalocean.com>
19 months agolibrbd: Change append_io_events() to take Extents
Joshua Baergen [Thu, 9 Nov 2023 16:43:21 +0000 (09:43 -0700)]
librbd: Change append_io_events() to take Extents

An upcoming commits will use this to change how multi-extent image
requests are appended to the journal.

Signed-off-by: Joshua Baergen <jbaergen@digitalocean.com>
19 months agolibrbd: Eliminate unused m_synchronous from AbstractImageWriteRequest
Joshua Baergen [Thu, 9 Nov 2023 16:43:20 +0000 (09:43 -0700)]
librbd: Eliminate unused m_synchronous from AbstractImageWriteRequest

This has been unused since its introduction years ago and so isn't worth
keeping.

Signed-off-by: Joshua Baergen <jbaergen@digitalocean.com>
19 months agotest/librbd: Add a stress test that reproduces a crash during discard journaling
Joshua Baergen [Thu, 9 Nov 2023 16:43:19 +0000 (09:43 -0700)]
test/librbd: Add a stress test that reproduces a crash during discard journaling

See the comments in DiscardWithPruneWriteOverlap for details.

Signed-off-by: Joshua Baergen <jbaergen@digitalocean.com>
19 months agoosd/scrubber: fix signed comparison warning 54799/head
Casey Bodley [Tue, 5 Dec 2023 21:12:56 +0000 (16:12 -0500)]
osd/scrubber: fix signed comparison warning

[681/1140] Building CXX object src/osd/CMakeFiles/osd.dir/scrubber/scrub_resources.cc.o
src/osd/scrubber/scrub_resources.cc: In member function ‘bool Scrub::ScrubResources::inc_scrubs_remote(pg_t)’:
src/osd/scrubber/scrub_resources.cc:84:18: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int64_t’ {aka ‘const long int’} [-Wsign-compare]
   84 |   if (pre_op_cnt < conf->osd_max_scrubs) {
      |       ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agodoc/radosgw: update link in rgw-cache.rst 54790/head
Zac Dover [Tue, 5 Dec 2023 19:46:26 +0000 (20:46 +0100)]
doc/radosgw: update link in rgw-cache.rst

Update link in doc/radosgw/rgw-cache.rst. The link updated here is a
link to all the Nginx configuration files. The old link was broken. This
update comes to us from an anonymous report on
https://pad.ceph.com/p/Report_Documentation_Bugs.

Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agocommon: use inline for monostate dencoders 54787/head
Casey Bodley [Tue, 5 Dec 2023 17:21:18 +0000 (12:21 -0500)]
common: use inline for monostate dencoders

fix a 'multiple definition' error when included by multiple sources:

src/common/versioned_variant.h:31: multiple definition of `ceph::encode(std::monostate const&, ceph::buffer::v15_2_0::list&)';
rgw_main.cc.o:src/common/versioned_variant.h:31: first defined here

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agotest/librbd: drop DiffIterateTest.DiffIterateRegression6926 54755/head
Ilya Dryomov [Fri, 1 Dec 2023 17:29:12 +0000 (18:29 +0100)]
test/librbd: drop DiffIterateTest.DiffIterateRegression6926

This was added to test [1].  It's duplicated by several cases in
DiffIterateTest.DiffIterateDeterministicPP now.  Specifically, the
issue could be reproduced by any of:

    (8) beginning of time -> snap2
    (9) snap1 -> snap2
    (10) beginning of time -> snap1

[1] https://tracker.ceph.com/issues/6926

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agotest/librbd: drop TestLibRBD.SnapDiff
Ilya Dryomov [Fri, 1 Dec 2023 17:54:19 +0000 (18:54 +0100)]
test/librbd: drop TestLibRBD.SnapDiff

This was added to integration test [1], separate from the fix which
went in only with unit test adjustments.  It's duplicated by several
cases in DiffIterateTest.DiffIterateDeterministic now.  Specifically,
the issue could be reproduced by any of:

    (3) snap2 -> HEAD
    (4) snap3 -> HEAD
    (7) snap2 -> snap3

[1] https://tracker.ceph.com/issues/50787

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agotest/librbd: add DiffIterateTest.DiffIterateDeterministic{,PP}
Ilya Dryomov [Wed, 29 Nov 2023 11:28:51 +0000 (12:28 +0100)]
test/librbd: add DiffIterateTest.DiffIterateDeterministic{,PP}

scribble()-based DiffIterate tests are too weak: at least two
regressions that should been caught by DiffIterate.DiffIterate or
DiffIterate.DiffIterateStress were missed [1][2].  Aside from the
randomness which can be both a good and a bad thing, asserts there
ensure only that the returned diff covers all changes that were made.
If the returned diff is too excessive or otherwise bogus, this isn't
detected [3].

Add a deterministic test to systematically cover the most common cases
that don't involve discards.  A similar test for discards will be added
with the fix for [4].

Comment out debug log in vector_iterate_cb() like it's done in
iterate_cb().

[1] https://tracker.ceph.com/issues/50787
[2] https://tracker.ceph.com/issues/63654
[3] https://tracker.ceph.com/issues/63719
[4] https://tracker.ceph.com/issues/53897

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agoMerge pull request #54068 from rhcs-dashboard/rgw-roles-update
Nizamudeen A [Tue, 5 Dec 2023 08:09:00 +0000 (13:39 +0530)]
Merge pull request #54068 from rhcs-dashboard/rgw-roles-update

mgr/dashboard: add support for editing and deleting rgw roles

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
19 months agocephfs: add a release note for PR #53899
Rishabh Dave [Tue, 5 Dec 2023 05:43:16 +0000 (11:13 +0530)]
cephfs: add a release note for PR #53899

With merging of PR #53899 it is mandatory now for CephFS to be offline
and refuse_client_session to be set before an attempt to rename the
CephFS is made. Add a release note for this.

Fixes: https://github.com/ceph/ceph/pull/53899
Fixes: https://tracker.ceph.com/issues/63154
Signed-off-by: Rishabh Dave <ridave@redhat.com>
19 months agoMerge pull request #54774 from sinashan/main
zdover23 [Mon, 4 Dec 2023 19:41:46 +0000 (20:41 +0100)]
Merge pull request #54774 from sinashan/main

doc: Fixes two typos and grammatical errors. Signed-off-by: Sina Ahma…

Reviewed-by: Zac Dover <zac.dover@proton.me>
19 months agodoc: Fixes two typos and grammatical errors. Signed-off-by: Sina Ahmadi <sinatak1373... 54774/head
sinashan [Mon, 4 Dec 2023 19:02:54 +0000 (14:02 -0500)]
doc: Fixes two typos and grammatical errors. Signed-off-by: Sina Ahmadi <sinatak1373@live.com>

19 months agocephadm: simplify loading jinja2 templates from zipapp 54773/head
John Mulligan [Mon, 4 Dec 2023 18:20:02 +0000 (13:20 -0500)]
cephadm: simplify loading jinja2 templates from zipapp

The saga of failures in teuthology brought on by the combination of
zipapp and jinja2 template loading continues in this episode. Remove
some of the path handling that was taken from the original jinja2
implementation and try to replace it with something inherently simpler
such that we always construct paths relative to the zip archive and pass
that to the zipimporter. The hope here is that by doing fewer
manipulations of the "path" we are more likely to match the items
tracked inside the zipimporter class.

We do not worry about some of the concerns that regular jinja2 has as we
never expect cephadm to be run on something other than linux and we have
control over what sources we expect to load templates from.  We do take
one precaution and that is to reject any paths that contain "." and ".."
as components. Less to avoid malicious attempts to read files it should
not (but that would be nice) and more to nudge toward simple template
references recorded in our Templates enum.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
19 months agoos/bluestore: get rid off resulting lba alignment in allocators 53483/head
Igor Fedotov [Fri, 15 Sep 2023 17:35:13 +0000 (20:35 +0300)]
os/bluestore: get rid off resulting lba alignment in allocators

Fixes: https://tracker.ceph.com/issues/62815
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
19 months agoos/bluestore: adjust and validate bluefs_shared_alloc_size
Igor Fedotov [Wed, 13 Sep 2023 13:51:16 +0000 (16:51 +0300)]
os/bluestore: adjust and validate bluefs_shared_alloc_size

Make sure it's in-sync (meaning it's higher or equal and properly aligned)
with bluestore_min_alloc_size into account

Fixes: https://tracker.ceph.com/issues/63618
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
19 months agoMerge pull request #54205 from VallariAg/wip-nvmeof-test
Ilya Dryomov [Mon, 4 Dec 2023 17:14:38 +0000 (18:14 +0100)]
Merge pull request #54205 from VallariAg/wip-nvmeof-test

qa: add rbd/nvmeof integration test

Reviewed-by: Zack Cerza <zack@redhat.com>
Reviewed-by: Aviv Caro <Aviv.Caro@ibm.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
19 months agopybind/rbd: make cdef functions not propagate exceptions by default 54670/head
Mykola Golub [Mon, 4 Dec 2023 09:38:56 +0000 (09:38 +0000)]
pybind/rbd: make cdef functions not propagate exceptions by default

Setting legacy_implicit_noexcept compiler directive to True will cause
Cython 3.0 to have the same semantics as Cython 0.x.

Fixes: https://tracker.ceph.com/issues/62140
Signed-off-by: Mykola Golub <mgolub@suse.com>
19 months agotest/pybind/rbd: test callbacks raising exceptions
Mykola Golub [Sun, 3 Dec 2023 09:37:02 +0000 (09:37 +0000)]
test/pybind/rbd: test callbacks raising exceptions

Signed-off-by: Mykola Golub <mgolub@suse.com>
19 months agoqa: add rbd/nvmeof test 54205/head
Vallari Agrawal [Thu, 26 Oct 2023 07:55:44 +0000 (13:25 +0530)]
qa: add rbd/nvmeof test

A basic test for ceph-nvmeof[1] where
nvmeof initiator is created.
It requires use of a new task "nvmeof_gateway_cfg"
under cephadm which shares config information
between two remote hosts.

[1] https://github.com/ceph/ceph-nvmeof/

Signed-off-by: Vallari Agrawal <val.agl002@gmail.com>
19 months agoPendingReleaseNotes: announce cephfs-shell avail. on rhel9 54726/head
Patrick Donnelly [Mon, 4 Dec 2023 13:53:53 +0000 (08:53 -0500)]
PendingReleaseNotes: announce cephfs-shell avail. on rhel9

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
19 months agoMerge pull request #54441 from phlogistonjohn/jjm-cephadm-breakup v19.0.0
Adam King [Mon, 4 Dec 2023 12:32:52 +0000 (07:32 -0500)]
Merge pull request #54441 from phlogistonjohn/jjm-cephadm-breakup

cephadm: break various daemon type classes out to smaller files in cephadmlib

Reviewed-by: Adam King <adking@redhat.com>
19 months agoMerge pull request #54679 from Suyashd999/add-rgw
Adam King [Mon, 4 Dec 2023 12:26:13 +0000 (07:26 -0500)]
Merge pull request #54679 from Suyashd999/add-rgw

src/cephadm: Added rgw for listing in Daemons

Reviewed-by: Adam King <adking@redhat.com>
19 months agoMerge pull request #54076 from rhcs-dashboard/subvolume-snapshot
Nizamudeen A [Mon, 4 Dec 2023 08:42:51 +0000 (14:12 +0530)]
Merge pull request #54076 from rhcs-dashboard/subvolume-snapshot

mgr/dashboard: cephfs subvolume list snapshots

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: ivoalmeida <NOT@FOUND>
19 months agoMerge pull request #54758 from zdover23/wip-doc-2023-12-03-rados-stretch-mode-repair...
Anthony D'Atri [Sun, 3 Dec 2023 14:40:46 +0000 (09:40 -0500)]
Merge pull request #54758 from zdover23/wip-doc-2023-12-03-rados-stretch-mode-repair-of-54689

doc/rados: repair stretch-mode.rst

19 months agodoc/rados: repair stretch-mode.rst 54758/head
Zac Dover [Sun, 3 Dec 2023 12:17:46 +0000 (13:17 +0100)]
doc/rados: repair stretch-mode.rst

Remove a section of doc/rados/operations/stretch-mode.rst that I wrongly
re-included after its removal. The request for this (re)-removal is
here: https://github.com/ceph/ceph/pull/54689#discussion_r1413007655.

Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoMerge pull request #54437 from Matan-B/wip-matanb-crimson-osdmap-trimming
Matan Breizman [Sun, 3 Dec 2023 08:06:33 +0000 (10:06 +0200)]
Merge pull request #54437 from Matan-B/wip-matanb-crimson-osdmap-trimming

crimson/osd: introduce osdmap trimming

Reviewed-by: Samuel Just <sjust@redhat.com>
19 months agoMerge pull request #53712 from ronen-fr/wip-rf-move-1
Ronen Friedman [Sun, 3 Dec 2023 07:51:41 +0000 (09:51 +0200)]
Merge pull request #53712 from ronen-fr/wip-rf-move-1

osd: fix a missing 'noexcept' on a move ctor

Reviewed-by: Samuel Just <sjust@redhat.com>
19 months agoMerge pull request #54482 from ronen-fr/wip-rf-repl-hp
Ronen Friedman [Sun, 3 Dec 2023 07:45:18 +0000 (09:45 +0200)]
Merge pull request #54482 from ronen-fr/wip-rf-repl-hp

osd/scrub: decouple being reserved from handling scrub requests

Reviewed-by: Samuel Just <sjust@redhat.com>
19 months agoMerge pull request #54689 from PC-Admin/update-stretch-mode-docs
zdover23 [Sun, 3 Dec 2023 05:56:59 +0000 (06:56 +0100)]
Merge pull request #54689 from PC-Admin/update-stretch-mode-docs

doc/rados: Update stretch mode docs.

Reviewed-by: Zac Dover <zac.dover@gmail.com>
19 months agodoc/rados: update "stretch mode" 54689/head
PC-Admin [Tue, 28 Nov 2023 09:45:52 +0000 (17:45 +0800)]
doc/rados: update "stretch mode"

Update stretch mode docs, min_size and max_size are no longer defined in
the CRUSH map and the example rule given will fail to compile.

Specify that the tiebreaker data centre cannot be defined in CRUSH as
this produces an error.

Signed-off-by: Michael Collins <perthserverplus@gmail.com>
19 months agoosd: fix a missing 'noexcept' on a move ctor 53712/head
Ronen Friedman [Thu, 28 Sep 2023 12:04:06 +0000 (07:04 -0500)]
osd: fix a missing 'noexcept' on a move ctor

as a non-default, non-noexcept move ctor is ignored by
stl containers.

See clang-tidy's performance-noexcept-move-constructor

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
19 months agolibrbd: fix read_whole_object handling in ObjectListSnapsRequest
Ilya Dryomov [Mon, 27 Nov 2023 10:59:26 +0000 (11:59 +0100)]
librbd: fix read_whole_object handling in ObjectListSnapsRequest

Originally, in commit 2be4840afd4f ("librados/snap_set_diff: don't
assert on empty snapset"), exists was set to true.  This didn't make
ObjectListSnapsRequest, causing the following deep-copy tests to fail
when run against calc_snap_set_diff() rigged to return "whole object"
as described in [1]:

    TestDeepCopy.Snaps
    TestDeepCopy.SnapDiscard
    TestDeepCopy.CloneHideParent
    TestDeepCopy.Snaps_LargerDstObjSize
    TestDeepCopy.Snaps_SmallerDstObjSize

This is a regression introduced in commit cc87a8bd697e ("librbd:
deep-copy object utilizes image-extent IO methods") by way of commit
11923e234efc ("librbd: generic object list snapshot request").

[1] https://github.com/ceph/ceph/pull/20648#issuecomment-369292309

Fixes: https://tracker.ceph.com/issues/63654
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agolibrbd: fix LIST_SNAPS_FLAG_WHOLE_OBJECT behavior
Ilya Dryomov [Mon, 27 Nov 2023 09:11:52 +0000 (10:11 +0100)]
librbd: fix LIST_SNAPS_FLAG_WHOLE_OBJECT behavior

Bundling read_whole_object and LIST_SNAPS_FLAG_WHOLE_OBJECT cases
together is wrong:

- In read_whole_object case, calc_snap_set_diff() sets just
  read_whole_object.  Everything else is zeroed out and may require
  resetting to fit with the rest of ObjectListSnapsRequest logic.

- In LIST_SNAPS_FLAG_WHOLE_OBJECT case, only the diff should be
  expanded.  Everything else is set by calc_snap_set_diff() and should
  be used as is.  This goes for end_size in particular -- if it's reset
  to object size, bogus zero extents may be returned as the object
  would appear to have grown.

This is a regression introduced in commit 4429ed4f3f4c ("librbd: switch
diff iterate API to use new snaps list dispatch methods") by way of
commit 66dd53d9c4d9 ("librbd: optionally return full object extent for
any snapshot deltas").

Fixes: https://tracker.ceph.com/issues/63654
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agotest/librbd: make ListSnapsWholeObject actually test stuff
Ilya Dryomov [Sun, 19 Nov 2023 21:44:28 +0000 (22:44 +0100)]
test/librbd: make ListSnapsWholeObject actually test stuff

Despite being added in commit 66dd53d9c4d9 ("librbd: optionally return
full object extent for any snapshot deltas") ostensibly to test the new
LIST_SNAPS_FLAG_WHOLE_OBJECT code, it surely doesn't do that because
the flag isn't even passed to MockObjectListSnapsRequest::create().

I can only guess, but it looks like snap ID 3 was intended to be
a starting point.  Otherwise, with 0 and CEPH_NOSNAP passed as snap
IDs, the overlap that is set up for the clone wouldn't affect the
computation in any way.

Use snap ID 3 as a starting point and run both with and without
LIST_SNAPS_FLAG_WHOLE_OBJECT on the same snapset to pinpoint the
difference.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agolibrados/snap_set_diff: set end_size only if end object exists
Ilya Dryomov [Sat, 11 Nov 2023 13:15:49 +0000 (14:15 +0100)]
librados/snap_set_diff: set end_size only if end object exists

Since commit 73f50a13109f ("rbd-mirror: use generalized deep copy for
image sync"), the only user of calc_snap_set_diff() immediately unsets
end_size otherwise.

calc_snap_set_diff() semantics are clearer if end_size is set together
with end_exists and clone_end_snap_id.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
19 months agoMerge pull request #54752 from zdover23/wip-doc-2023-12-02-radosgw-multisite-formatting
zdover23 [Sat, 2 Dec 2023 06:22:12 +0000 (07:22 +0100)]
Merge pull request #54752 from zdover23/wip-doc-2023-12-02-radosgw-multisite-formatting

doc/radosgw: fix formatting

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agodoc/radosgw: fix formatting 54752/head
Zac Dover [Sat, 2 Dec 2023 05:38:28 +0000 (06:38 +0100)]
doc/radosgw: fix formatting

Repair the formatting of a string that had a string inside backticks
that itself was inside double asterisks. The presence of the asterisks
around the entire string caused the backticks to appear in the rendered
documentation.

Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoadd checking result for rgw frontend init 54668/head
zhipeng li [Mon, 27 Nov 2023 07:24:06 +0000 (15:24 +0800)]
add checking result for rgw  frontend init
fixes: https://tracker.ceph.com/issues/63644

Signed-off-by: zhipeng li <qiuxinyidian@gmail.com>
19 months agorgw/zone: remove check for (very) old pools config 54749/head
Casey Bodley [Fri, 1 Dec 2023 19:27:51 +0000 (14:27 -0500)]
rgw/zone: remove check for (very) old pools config

i'm not sure how this was meant to work originally, but now it's
obviously broken - it tries to stat an object from the domain_root pool
before the domain_root pool name gets filled in

https://github.com/ceph/ceph/pull/50359 added a new error message that
makes this clear:

> ERROR: creating ioctx (pool=); r=-22

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #54526 from cbodley/wip-rgw-acl-cleanup
Casey Bodley [Fri, 1 Dec 2023 16:46:33 +0000 (16:46 +0000)]
Merge pull request #54526 from cbodley/wip-rgw-acl-cleanup

rgw/acl: clean up RGWAccessControlPolicy and friends

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
19 months agoMerge pull request #54488 from cbodley/wip-versioned-variant
Casey Bodley [Fri, 1 Dec 2023 16:02:20 +0000 (16:02 +0000)]
Merge pull request #54488 from cbodley/wip-versioned-variant

common: add versioned encodings for std::variant

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
19 months agotests/scrub: deactivate osd-scrub-dump stand-alone test 54482/head
Ronen Friedman [Fri, 1 Dec 2023 14:48:49 +0000 (08:48 -0600)]
tests/scrub: deactivate osd-scrub-dump stand-alone test

as the scrub reservation changes had made it obsolete.
Note - it is not an issue of fixing the test, but rather
that the tested functionality is no longer there.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>