]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 months agodoc/radosgw: Improve config-ref.rst 59578/head
Anthony D'Atri [Sat, 31 Aug 2024 23:53:35 +0000 (19:53 -0400)]
doc/radosgw: Improve config-ref.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
(cherry picked from commit 8e743fc603310a802b8553af5e73266a9caf6554)

10 months agoMerge pull request #59559 from zdover23/wip-doc-2024-09-02-backport-59556-to-squid
Anthony D'Atri [Mon, 2 Sep 2024 13:04:26 +0000 (09:04 -0400)]
Merge pull request #59559 from zdover23/wip-doc-2024-09-02-backport-59556-to-squid

squid: doc: Correct link to Prometheus docs

10 months agodoc: Correct link to Prometheus docs 59559/head
Matthew Vernon [Mon, 2 Sep 2024 09:16:36 +0000 (10:16 +0100)]
doc: Correct link to Prometheus docs

The link is to the `#http_sd_config` anchor in the prometheus config docs; that link only works without the trailing `/`.

This correction would ideally get backported to at least reef & squid.

Signed-off-by: Matthew Vernon <mvernon@wikimedia.org>
(cherry picked from commit 84a30ba6b94b34806faac8217ccaa299c9ee68d6)

10 months agoMerge pull request #59548 from zdover23/wip-doc-2024-09-01-backport-59544-to-squid
Zac Dover [Sun, 1 Sep 2024 23:41:05 +0000 (09:41 +1000)]
Merge pull request #59548 from zdover23/wip-doc-2024-09-01-backport-59544-to-squid

squid: doc: update tests-integration-testing-teuthology-workflow.rst

Reviewed-by: Vallari Agrawal <val.agl002@gmail.com>
10 months agodoc: update tests-integration-testing-teuthology-workflow.rst 59548/head
Vallari Agrawal [Sat, 31 Aug 2024 14:27:25 +0000 (19:57 +0530)]
doc: update tests-integration-testing-teuthology-workflow.rst

* add "Infrastructure" section.

* move "Naming the ceph-ci branch" section under
   "Getting binaries - Build Ceph". Also mention
   about centos9-only trick.

* in "Teuthology Archives", mention about developer
   playground machines and ceph log files.

Signed-off-by: Vallari Agrawal <val.agl002@gmail.com>
(cherry picked from commit 9bfcb8e17db8c61e523e10856d12b237433d831a)

10 months agoMerge pull request #59464 from sajibreadd/wip-67037-squid
Anthony D'Atri [Sat, 31 Aug 2024 23:43:13 +0000 (19:43 -0400)]
Merge pull request #59464 from sajibreadd/wip-67037-squid

squid: os/bluestore: Warning added for slow operations and stalled read

10 months agoMerge pull request #59540 from zdover23/wip-doc-2024-08-31-backport-59528-to-squid
Anthony D'Atri [Sat, 31 Aug 2024 14:29:02 +0000 (10:29 -0400)]
Merge pull request #59540 from zdover23/wip-doc-2024-08-31-backport-59528-to-squid

squid: doc/ceph-volume: add spillover fix procedure

10 months agodoc/ceph-volume: add spillover fix procedure 59540/head
Zac Dover [Fri, 30 Aug 2024 11:16:57 +0000 (21:16 +1000)]
doc/ceph-volume: add spillover fix procedure

Add a procedure that explains how, after an upgrade, to move bytes that
have spilled over to a relatively slow device back to the faster device.

This procedure was developed by Chris Dunlop on the [ceph-users] mailing
list, here: https://lists.ceph.io/hyperkitty/list/ceph-users@ceph.io/message/POPUFSZGXR3P2RPYPJ4WJ4HGHZ3QESF6/

Eugen Block requested the addition of this procedure to the
documentation on 30 Aug 2024.

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

10 months agoMerge pull request #59537 from neha-ojha/wip-squid-stable
Neha Ojha [Fri, 30 Aug 2024 20:02:37 +0000 (13:02 -0700)]
Merge pull request #59537 from neha-ojha/wip-squid-stable

squid: src/ceph_release, doc: mark squid stable

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
10 months agosrc/ceph_release, doc: mark squid stable 59537/head
Neha Ojha [Fri, 30 Aug 2024 16:17:57 +0000 (16:17 +0000)]
src/ceph_release, doc: mark squid stable

Signed-off-by: Neha Ojha <nojha@redhat.com>
10 months agoMerge pull request #59491 from cbodley/wip-67782-squid
Casey Bodley [Thu, 29 Aug 2024 14:53:00 +0000 (10:53 -0400)]
Merge pull request #59491 from cbodley/wip-67782-squid

squid: doc/rgw/account: Handling notification topics when migrating an existing user into an account

Reviewed-by: Oguzhan Ozmen <oozmen@bloomberg.net>
10 months agoMerge pull request #59084 from kamoltat/wip-ksirivad-backport-squid-56233
Kamoltat (Junior) Sirivadhna [Thu, 29 Aug 2024 02:38:42 +0000 (22:38 -0400)]
Merge pull request #59084 from kamoltat/wip-ksirivad-backport-squid-56233

squid: RADOS: Generalize stretch mode pg temp handling to be usable without stretch mode
Reviewed-by: Samuel Just <sjust@redhat.com>
10 months agoMerge pull request #59221 from cbodley/wip-67554-squid
Casey Bodley [Thu, 29 Aug 2024 00:32:15 +0000 (20:32 -0400)]
Merge pull request #59221 from cbodley/wip-67554-squid

squid: rgw: revert account-related changes to get_iam_policy_from_attr()

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
10 months agodoc/rgw/account: Handling notification topics when migrating an existing user into... 59491/head
Oguzhan Ozmen [Thu, 22 Aug 2024 02:44:01 +0000 (22:44 -0400)]
doc/rgw/account: Handling notification topics when migrating an existing user into an account

Add a subsection under "Migrate an existing User into an Account" to
describe how a client can seamlessly migrate the notification topics
after account migration.

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

Signed-off-by: Oguzhan Ozmen <oozmen@bloomberg.net>
(cherry picked from commit 574d3f8e73570d06f259cdb9c36429effa6fb426)

10 months agoqa/suites/rados: 3-az-stretch-cluster-netsplit test 59084/head
Kamoltat [Tue, 21 May 2024 19:02:03 +0000 (19:02 +0000)]
qa/suites/rados: 3-az-stretch-cluster-netsplit test

Test the case where 2 DC loses connection with each other
for a 3 AZ stretch cluster with stretch pool enabled.
Check if cluster is accessible and PGs are active+clean
after reconnected.

Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 7b41aff3f001d247e4ea5d73b774b5f7709eda49)

Conflicts:
- qa/tasks/ceph_test_case.py (trivial fix)

10 months agodoc/rados/operations/pools.rst: Added docs for stretch pool set|unset|show
Kamoltat [Tue, 26 Mar 2024 17:21:02 +0000 (17:21 +0000)]
doc/rados/operations/pools.rst: Added docs for stretch pool set|unset|show

Fixes: https://tracker.ceph.com/issues/64802
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit fb0011a692c656db0c64bbeb7d47d79cc62b16c9)

10 months agoqa/suites/rados/singleton/all: init mon-stretch-pool.yaml
Kamoltat [Mon, 25 Mar 2024 19:42:25 +0000 (19:42 +0000)]
qa/suites/rados/singleton/all: init mon-stretch-pool.yaml

Test the following new Ceph CLI commands:

`ceph osd pool stretch set`
`ceph osd pool stretch unset`
`ceph osd pool stretch show`

`qa/workunits/mon/mon-stretch-pool.sh`

will create the stretch cluster
while performing input validation for the CLI
Commands mentioned above.

`qa/tasks/stretch_cluster.py`

is in charge of
setting a pool to stretch cluster
and checks whether it prevents PGs
from the going active when there is not
enough buckets available in the acting
set of PGs to go active.

Also, test different MON fail over scenarios
after setting pool as stretch

`qa/suites/rados/singleton/all/mon-stretch-pool.yaml`

brings the scripts together.

Fixes: https://tracker.ceph.com/issues/64802
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 4ca1320727d1f7dca2ddfe7ad1a0b76f95b80ab0)

Conflicts:
- qa/tasks/ceph_test_case.py (trivial fix)

10 months agoAllow setting peering_crush_bucket_{count|target|barrier}
Kamoltat [Fri, 15 Mar 2024 22:01:06 +0000 (22:01 +0000)]
Allow setting peering_crush_bucket_{count|target|barrier}

In the command `ceph osd pool stretch set`

<pool> <peering_crush_bucket_count>
<peering_crush_bucket_target> <peering_crush_bucket_barrier>
<crush_rule> <size> <min_size>

user has the option of setting the value of `peering_crush_bucket_{count|target|barrier}`.
This will then allow the utilization `calc_replicated_acting_stretch`,
since with `peering_crush_bucket_count != 0`
the pool is now a stretch_pool and we can handle pg_temp
better by settubg barriers and limits to how much OSDs
should be in a pg_temp.

This will enable the specify pool to
handle pg_temp properly during create_acting, as a stretch pool
should.

User can also use the command:
`osd pool stretch show <pool> `

to show all the stretch related information for the pool

pool: cephfs.a.data
pool_id: 3
is_stretch_pool: 1
peering_crush_bucket_count: 3
peering_crush_bucket_target: 3
peering_crush_bucket_barrier: 8
crush_rule: replicated_rule_custom
size: 3
min_size: 2

User can also unset the stretch pool wiith the commnad:
`osd pool stretch unset <pool>`
However, the pool must be a stretch pool.

Fixes: https://tracker.ceph.com/issues/64802
Signed-off-by: Kamoltat <ksirivad@redhat.com>
(cherry picked from commit 661e8e22cff8763cf8775f204dda4490e464db2c)

10 months agoMerge pull request #59083 from kamoltat/wip-ksirivad-backport-squid-57381
Kamoltat (Junior) Sirivadhna [Wed, 28 Aug 2024 18:30:44 +0000 (14:30 -0400)]
Merge pull request #59083 from kamoltat/wip-ksirivad-backport-squid-57381

squid: PeeringState.cc: Only populate want_acting when num_osds < bucket_max
Reviewed-by: Samuel Just <sjust@redhat.com>
10 months agoMerge pull request #58669 from kamoltat/wip-ksirivad-backport-squid-57906
Kamoltat (Junior) Sirivadhna [Wed, 28 Aug 2024 18:26:20 +0000 (14:26 -0400)]
Merge pull request #58669 from kamoltat/wip-ksirivad-backport-squid-57906

squid: mon/ElectionLogic: tie-breaker mon ignore proposal from marked down mon
Reviewed-by: Samuel Just <sjust@redhat.com>
10 months agoMerge pull request #59471 from adk3798/wip-67732-squid
Guillaume Abrioux [Wed, 28 Aug 2024 14:52:20 +0000 (16:52 +0200)]
Merge pull request #59471 from adk3798/wip-67732-squid

squid: qa/distros: reinstall nvme-cli on centos 9 nodes

10 months agoMerge pull request #59038 from aaSharma14/wip-67359-squid
Aashish Sharma [Wed, 28 Aug 2024 04:50:14 +0000 (10:20 +0530)]
Merge pull request #59038 from aaSharma14/wip-67359-squid

squid: mgr/dashboard: Dashboard not showing Object/Overview correctly.

Reviewed-by: Nizamudeen A <nia@redhat.com>
10 months agoMerge pull request #59380 from zdover23/wip-doc-2024-08-21-backport-59348-to-squid
Zac Dover [Wed, 28 Aug 2024 00:01:14 +0000 (10:01 +1000)]
Merge pull request #59380 from zdover23/wip-doc-2024-08-21-backport-59348-to-squid

squid: doc/rados: document unfound object cache-tiering scenario

Reviewed-by: Cole Mitchell <cole.mitchell.ceph@gmail.com>
10 months agoqa/distros: reinstall nvme-cli on centos 9 nodes 59471/head
Adam King [Thu, 22 Aug 2024 17:53:38 +0000 (13:53 -0400)]
qa/distros: reinstall nvme-cli on centos 9 nodes

To work around a potential linking issue between
nvme-cli ad libnvme that prevents nvme-cli from
correctly generating a hostnqn, causing

nvme_fabrics: found same hostid edb4e426-766f-44c6-b127-da2a5b7446ef but different hostnqn hostnqn

messages in dmesg and the inability to setup nvme
loop devices

Fixes: https://tracker.ceph.com/issues/67684
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 4e5f269c01dd94741fbddaa7f76ebe4ac155e650)

10 months agoMerge pull request #59445 from cbodley/wip-67723-squid
J. Eric Ivancich [Tue, 27 Aug 2024 17:14:13 +0000 (13:14 -0400)]
Merge pull request #59445 from cbodley/wip-67723-squid

squid: rgw: ignore zoneless default realm when not configured

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
10 months agoWarning added for slow operations and stalled read in BlueStore. User can control... 59464/head
sajibreadd [Mon, 27 May 2024 07:30:06 +0000 (13:30 +0600)]
Warning added for slow operations and stalled read in BlueStore. User can control how much time the warning should persist after last occurence and maximum number of operations as a threshold will be considered for the warning.

Fixes: https://tracker.ceph.com/issues/62500
Signed-off-by: Md Mahamudur Rahaman Sajib <mahamudur.sajib@croit.io>
(cherry picked from commit 73b80a9a2c38259346fb646f85fa2ba4dcbb1329)

10 months agotest/rgw: include --rgw-realm/zonegroup/zone args for 'account create' 59445/head
Casey Bodley [Fri, 23 Aug 2024 19:55:44 +0000 (15:55 -0400)]
test/rgw: include --rgw-realm/zonegroup/zone args for 'account create'

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

10 months agotest/rgw: test_multi.py creates realm with --default
Casey Bodley [Fri, 23 Aug 2024 19:54:18 +0000 (15:54 -0400)]
test/rgw: test_multi.py creates realm with --default

mstart.sh relies on default realm/zonegroup/zone configuration, because
it doesn't supply them to radosgw as config options

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

10 months agorgw: ignore zoneless default realm when not configured
Casey Bodley [Fri, 23 Aug 2024 19:03:31 +0000 (15:03 -0400)]
rgw: ignore zoneless default realm when not configured

"default" zone/zonegroup deployments without a realm can be broken by
the creation of an unrelated realm, because that realm is (was)
automatically set as the default

when startup detects an incomplete default realm (one that doesn't have
a default zone), fall back to the realmless "default" zone/zonegroup
instead

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

10 months agoradosgw-admin: add 'realm default rm' command
Casey Bodley [Fri, 23 Aug 2024 18:53:46 +0000 (14:53 -0400)]
radosgw-admin: add 'realm default rm' command

the 'realm default' command could only set a different realm as the
default, and provided no way to clear the default

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

10 months agorgw: realm create only sets default realm on --default
Casey Bodley [Fri, 23 Aug 2024 18:49:32 +0000 (14:49 -0400)]
rgw: realm create only sets default realm on --default

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

10 months agoMerge pull request #59410 from adk3798/wip-67681-squid
Adam King [Mon, 26 Aug 2024 15:05:33 +0000 (11:05 -0400)]
Merge pull request #59410 from adk3798/wip-67681-squid

squid: mgr/cephadm: add "original_weight" parameter to OSD class

Reviewed-by: John Mulligan <jmulligan@redhat.com>
10 months agoMerge pull request #59430 from zdover23/wip-doc-2024-08-26-backport-59428-to-squid
Anthony D'Atri [Mon, 26 Aug 2024 13:22:46 +0000 (09:22 -0400)]
Merge pull request #59430 from zdover23/wip-doc-2024-08-26-backport-59428-to-squid

squid: doc/cephadm: how to get exact size_spec from device

10 months agoMerge pull request #59139 from k0ste/wip-67123-squid
afreen23 [Mon, 26 Aug 2024 09:08:25 +0000 (14:38 +0530)]
Merge pull request #59139 from k0ste/wip-67123-squid

squid: mgr/dashboard: add restful api for creating crush rule with type of 'erasure'

Reviewed-by: Afreen Misbah <afreen23.git@gmail.com>
10 months agodoc/cephadm: how to get exact size_spec from device 59430/head
Zac Dover [Sun, 25 Aug 2024 20:03:34 +0000 (06:03 +1000)]
doc/cephadm: how to get exact size_spec from device

Add instructions for retrieving the exact size of block devices.

Fixes: https://tracker.ceph.com/issues/66754
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit d00d1b52d50b5575d918c3be7b7a8249ef31f0a8)

10 months agoMerge pull request #59106 from aclamk/wip-67454-squid
Pere Diaz Bou [Sun, 25 Aug 2024 09:47:06 +0000 (11:47 +0200)]
Merge pull request #59106 from aclamk/wip-67454-squid

squid: os/bluestore: Multiple bdev labels on main block device

Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
Reviewed-by: Yuri Weinstein <yweins@redhat.com>
10 months agoMerge pull request #59424 from zdover23/wip-doc-2024-08-25-backport-59418-to-squid
Anthony D'Atri [Sun, 25 Aug 2024 03:06:56 +0000 (23:06 -0400)]
Merge pull request #59424 from zdover23/wip-doc-2024-08-25-backport-59418-to-squid

squid: doc/glossary: add "object storage"

10 months agodoc/glossary: add "object storage" 59424/head
Zac Dover [Fri, 23 Aug 2024 12:36:16 +0000 (22:36 +1000)]
doc/glossary: add "object storage"

Add a (very basic) definition of object storage.

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

10 months agoos/bluestore: Fix unbalanced new[]/delete[] in read_bdev_label functions 59106/head
Adam Kupczyk [Thu, 25 Jul 2024 12:42:43 +0000 (12:42 +0000)]
os/bluestore: Fix unbalanced new[]/delete[] in read_bdev_label functions

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 64f6b5d1d7ecab9f17d6d32424fdab536b7a5a93)

10 months agoos/bluestore: Modify read_meta()
Adam Kupczyk [Fri, 12 Jul 2024 08:04:41 +0000 (08:04 +0000)]
os/bluestore: Modify read_meta()

When bdev is not opened, do not fallback to file-backed values
immediately.
First try to open temporary open bdev.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 811f2979f53201d7bf296e11e7ea62e493abe471)

10 months agoos/bluestore: fix fsck fixing multiple bdev label (superblock)
Adam Kupczyk [Mon, 1 Jul 2024 13:44:41 +0000 (13:44 +0000)]
os/bluestore: fix fsck fixing multiple bdev label (superblock)

The problem was that after fixing label location,
location was not marked as "good label".
In result the region was not excluded when saving allocator state.
After reading allocator state, label was treated as corrupted.

Fixed fixing bdev label when freelist is bitmap (HDD).

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 721482adc0de1371cf92cd4e73255ba170a2a5ac)

10 months agoos/bluestore: Review fixes
Adam Kupczyk [Fri, 10 May 2024 07:38:56 +0000 (07:38 +0000)]
os/bluestore: Review fixes

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 4adb942a6489bdd63199b0036cf6a22bf4880906)

10 months agotest/store_test: Add double check for repair
Adam Kupczyk [Fri, 10 May 2024 09:19:43 +0000 (09:19 +0000)]
test/store_test: Add double check for repair

Add fsck after repair to verify.
Also drop some unnecesary calls to mount().

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 3c2574c3aa19453ebf488d2fb4c014d639637384)

10 months agoceph-bluestore-tool: Fix set-label-key and rm-label-key
Adam Kupczyk [Wed, 24 Apr 2024 17:13:22 +0000 (17:13 +0000)]
ceph-bluestore-tool: Fix set-label-key and rm-label-key

Functions were not adapted to multiple superblocks.
Now for superblock labels that handle multiple copies, all are updated.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 4927876f7a426d1712e1a3ec8cfd045c582abce1)

10 months agoos/bluestore: multiple bdev label (superblock) fixes
Adam Kupczyk [Wed, 24 Apr 2024 14:29:08 +0000 (14:29 +0000)]
os/bluestore: multiple bdev label (superblock) fixes

- fixed logic of bluestore_debug_permit_any_bdev_label
- minor fixes

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 7bbf2a897a02bfa84b921b0b769bf6527ed5e028)

10 months agoos/bluestore: Adapt unittest for multi bdev label
Adam Kupczyk [Tue, 13 Feb 2024 12:57:26 +0000 (12:57 +0000)]
os/bluestore: Adapt unittest for multi bdev label

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 6acad6d19e99425bf336ecb01a879d789c18acdc)

10 months agoos/bluestore: Small fix to mkfs
Adam Kupczyk [Tue, 13 Feb 2024 12:54:27 +0000 (12:54 +0000)]
os/bluestore: Small fix to mkfs

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit eac365cd1a7554f31d0018a3b45f060e22ad7add)

10 months agoos/bluestore: Made read/write_meta bdev aware
Adam Kupczyk [Tue, 13 Feb 2024 12:48:33 +0000 (12:48 +0000)]
os/bluestore: Made read/write_meta bdev aware

When bdev is not set, do not even try to operate on label.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit fe764c4fd8d96571a91418b0e6d84bd28c082404)

10 months agoos/bluestore: Add read/write_bdev_label functions
Adam Kupczyk [Tue, 13 Feb 2024 12:46:38 +0000 (12:46 +0000)]
os/bluestore: Add read/write_bdev_label functions

Made _read/_write_bdev_label private.
Instead created read/write_bdev_label.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 9b30da39a0dd1afc9c50303c4057f749b15de46a)

10 months agoos/bluestore: Modify bdev-label functions operate on bdev
Adam Kupczyk [Tue, 13 Feb 2024 12:30:53 +0000 (12:30 +0000)]
os/bluestore: Modify bdev-label functions operate on bdev

Now bdev-label related function operate on BlockDevices.
It used to open own file descriptor to operate.
It could no longer be supported because we need bdev->get_size().

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 8a825e133a7c6e1b8ec0e14438b553b2bd9e6ec9)

10 months agoos/bluestore: Bluefs, expand api for getting BlockDevice on BD/WAL
Adam Kupczyk [Tue, 13 Feb 2024 12:50:51 +0000 (12:50 +0000)]
os/bluestore: Bluefs, expand api for getting BlockDevice on BD/WAL

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 0891702f23a7e98f79e58b6a35abd23a8944aa08)

10 months agoos/bluestore: Minor fixes
Adam Kupczyk [Thu, 8 Feb 2024 23:53:25 +0000 (23:53 +0000)]
os/bluestore: Minor fixes

These were noticed during review.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit e1cc40b133bb6025aff2e99a722ad01d20b67fb5)

10 months agoos/bluestore: Update test for resilience of bdev label against bad UUID
Adam Kupczyk [Thu, 8 Feb 2024 14:38:09 +0000 (14:38 +0000)]
os/bluestore: Update test for resilience of bdev label against bad UUID

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit b89fb919160165ea1295254f8b6edf43d9cd3632)

10 months agoos/bluestore: Only accept bdev labels with our UUID
Adam Kupczyk [Thu, 8 Feb 2024 14:35:29 +0000 (14:35 +0000)]
os/bluestore: Only accept bdev labels with our UUID

This fixed the problem that some saboteur label of different UUID
with high "epoch" will trick label discovery.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 82b2ec7c2dd24b012e0ab66654850dc169138d8b)

10 months agoos/bluestore: Split check* and set* _main_bdev_label
Adam Kupczyk [Thu, 8 Feb 2024 23:36:49 +0000 (23:36 +0000)]
os/bluestore: Split check* and set* _main_bdev_label

Splitting makes them clearer.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit a3b044bb9dfb50fcb65ac2c9776488936620fc9f)

10 months agoos/bluestore: Adapt multi bdev label tests for !bdev->supported_bdev_label()
Adam Kupczyk [Wed, 7 Feb 2024 17:26:50 +0000 (17:26 +0000)]
os/bluestore: Adapt multi bdev label tests for !bdev->supported_bdev_label()

Just skip tests.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 660709154795a299e81054229968ae3169afb3c6)

10 months agoos/bluestore: Make bdev multi label compatible with !bdev->supported_bdev_label()
Adam Kupczyk [Thu, 8 Feb 2024 23:03:36 +0000 (23:03 +0000)]
os/bluestore: Make bdev multi label compatible with !bdev->supported_bdev_label()

Some devices (spdk, nvme) claim that they do not support bdev label.
It does not make sense since it just means ability to write [0-4k] on the device.
Regardless, special care is taken of the devices that do not have label written.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit c8d6ab7edd0ea90cfa14f204561d2130c927319a)

10 months agoos/bluestore: Fix of bdev label fsck
Adam Kupczyk [Thu, 8 Feb 2024 22:51:32 +0000 (22:51 +0000)]
os/bluestore: Fix of bdev label fsck

Procedure that verifies allocations vs freelist was not aware of bdev labels.
Now it properly omits them in comparisons between free and freelist.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 12236c37351aad52b7ff4dc9987120ae22049bf5)

10 months agoos/bluestore: Tests for multi bdev label feature
Adam Kupczyk [Fri, 2 Feb 2024 17:09:20 +0000 (17:09 +0000)]
os/bluestore: Tests for multi bdev label feature

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit b53a6d04295f4a6770f80b3ad182abdb41d84e92)

10 months agoos/bluestore: Fix of funny constructor misuse
Adam Kupczyk [Fri, 2 Feb 2024 16:05:32 +0000 (16:05 +0000)]
os/bluestore: Fix of funny constructor misuse

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit f6f5f898f1584b27b5b442a2cdc22d33226240f2)

10 months agoos/bluestore: Fix problem with marking unavailable bdev label positions
Adam Kupczyk [Fri, 2 Feb 2024 15:41:39 +0000 (15:41 +0000)]
os/bluestore: Fix problem with marking unavailable bdev label positions

It was attempted to mark bdev label locations as taken before adding bluefs allocation on main.
This in turn caused collision when bluefs finally tried to mark regions.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 9ab22a84ccd7dc9348ea317928878e19ff4921f2)

10 months agoos/bluestore: Fix repair for multi label
Adam Kupczyk [Fri, 2 Feb 2024 12:30:09 +0000 (12:30 +0000)]
os/bluestore: Fix repair for multi label

When there was no bdev labels to repair, assert happened.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 140dc2e74d72af21c3a84d3ffa29f1806ca4965a)

10 months agoos/bluestore: Add ability to upgrade into multi label
Adam Kupczyk [Fri, 2 Feb 2024 12:27:50 +0000 (12:27 +0000)]
os/bluestore: Add ability to upgrade into multi label

By default original behaviour is preserved.
One can upgrade into multi label by:

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit b24a4945a6c5c2c47e5b32b295af826cd090786c)

10 months agoos/bluestore: Hack for fsck with multi label
Adam Kupczyk [Fri, 2 Feb 2024 12:25:16 +0000 (12:25 +0000)]
os/bluestore: Hack for fsck with multi label

Config bluestore_bdev_label_require_all interferes with fsck / repair.
For those functions disable the flag.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 733a4513e56dcb869204c59abfbbc129b89b05d6)

10 months agoos/bluestore: Fix bdev_label_main_try_reserve
Adam Kupczyk [Fri, 2 Feb 2024 12:22:15 +0000 (12:22 +0000)]
os/bluestore: Fix bdev_label_main_try_reserve

It added valid_locations which it should not been doing.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit c7b4bcbaec6f6c478ae91f5b32c626d98e1e2635)

10 months agoos/bluestore: Fix write_bdev_label
Adam Kupczyk [Fri, 2 Feb 2024 12:19:05 +0000 (12:19 +0000)]
os/bluestore: Fix write_bdev_label

Fix default value of parameter 'location'.
It should consist of one element BDEV_LABEL_POSITION (0),
not just create with size 0.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 28dbacf1745b8a5a63b22639e6730a9559b354b7)

10 months agoos/bluestore: fix DB_SUPER_RESERVED->SUPER_RESERVED
Adam Kupczyk [Wed, 31 Jan 2024 07:31:46 +0000 (07:31 +0000)]
os/bluestore: fix DB_SUPER_RESERVED->SUPER_RESERVED

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 12e8c32299fc2c08ece62f77700e4e23c99b6862)

10 months agoos/bluestore: Small fix to check_or_set_bdev_label
Adam Kupczyk [Tue, 30 Jan 2024 17:45:14 +0000 (17:45 +0000)]
os/bluestore: Small fix to check_or_set_bdev_label

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 7e1d04345d96fde9cdece2a7339d8705ea0805f1)

10 months agoos/bluestore: Fix write_meta; increase epoch with each write
Adam Kupczyk [Tue, 30 Jan 2024 13:25:31 +0000 (13:25 +0000)]
os/bluestore: Fix write_meta; increase epoch with each write

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit d48f2c6f99c529db4d5ed1a2a986d328765dd634)

10 months agoos/bluestore: Fix fsck() for multi label
Adam Kupczyk [Tue, 30 Jan 2024 13:07:38 +0000 (13:07 +0000)]
os/bluestore: Fix fsck() for multi label

Do not operate if bdev label is outside device size.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 86f3aad2db49721af6ca7782e789e5861918406a)

10 months agoos/bluestore: Fix _check_or_set_main_bdev_label
Adam Kupczyk [Tue, 30 Jan 2024 13:04:03 +0000 (13:04 +0000)]
os/bluestore: Fix _check_or_set_main_bdev_label

Change use of local label to BlueStore's bdev_label.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit b4a0365741d2f92e843cf35dcd0cc7cb75b08789)

10 months agoos/bluestore: Fix _main_bdev_label_try_reserve
Adam Kupczyk [Tue, 30 Jan 2024 13:01:23 +0000 (13:01 +0000)]
os/bluestore: Fix _main_bdev_label_try_reserve

When location of label is acceptable add it as proper position for use.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 408ff2378cfda6726e9422ed826d39c39bbaa82b)

10 months agoos/bluestore: minor fix in _check_or_set_main_bdev_label
Adam Kupczyk [Tue, 30 Jan 2024 12:58:40 +0000 (12:58 +0000)]
os/bluestore: minor fix in _check_or_set_main_bdev_label

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 019a88b766c6f95e99297fe794f7be469435bedf)

10 months agoos/bluestore: Fix read_main_bdev_label
Adam Kupczyk [Tue, 30 Jan 2024 12:54:26 +0000 (12:54 +0000)]
os/bluestore: Fix read_main_bdev_label

When valid label with new epoch is found,
all that we have marked as good before are released.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit c4f212ee1fc331c8de8949999c6a56948617d43e)

10 months agoos/bluestore: Fix write_bdev_label
Adam Kupczyk [Tue, 30 Jan 2024 12:52:17 +0000 (12:52 +0000)]
os/bluestore: Fix write_bdev_label

If required location is outside device size, just skip it.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 7c4a8642f6c995087091e35bde4e921f12086edd)

10 months agoos/bluestore: Fix read_meta and write_meta
Adam Kupczyk [Tue, 30 Jan 2024 12:45:05 +0000 (12:45 +0000)]
os/bluestore: Fix read_meta and write_meta

Remove asserts if optional reading of bdev label fails.
Pass all valid bdev locations when writing bdev labels.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit c0bd6fff41ba0c7e5d7a7fe9c7bfc5fa7b90beb4)

10 months agoos/bluestore: Add fsck procedure for bdev multi labels
Adam Kupczyk [Thu, 8 Feb 2024 22:28:22 +0000 (22:28 +0000)]
os/bluestore: Add fsck procedure for bdev multi labels

Now fsck can properly detect collision between labels and object data / bluefs files.
Additional labels have lower precedence, they never overwrite other data.
If collision label - object data happens, the object is moved somewhere else.
If collision label - bluefs file happens, it is left unsolved.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 7ecaede175a13f600f50fd9c877132a4f130c321)

10 months agoos/bluestore: Adapt read_meta / write_meta
Adam Kupczyk [Tue, 30 Jan 2024 07:06:52 +0000 (07:06 +0000)]
os/bluestore: Adapt read_meta / write_meta

Modified to align with multi label properly.
Now functions still cache, but use read_main_bdev_label.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit f955c66290bd2a2510c2c9daafedf43f755ddae4)

10 months agoos/bluestore: Give label multiple positions to replicate to
Adam Kupczyk [Tue, 30 Jan 2024 07:01:34 +0000 (07:01 +0000)]
os/bluestore: Give label multiple positions to replicate to

Bdev label for main device can now be present in multiple locations.
The locations of valid labels are memorized and only those locations are used.
This is to preserve from overwriting data, should collision label - object or bluefs occur.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit aed1e686b3e058cc4bd767468f764a272ba601e1)

10 months agoos/bluestore: Create read_bdev_main_label function
Adam Kupczyk [Tue, 30 Jan 2024 06:54:38 +0000 (06:54 +0000)]
os/bluestore: Create read_bdev_main_label function

Duplicate read_bdev_label into dedicated read_bdev_main_label.
New function reads multiple labels.
Also created check_or_set_main_bdev_label in similiar way.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 75b1a22b95963a8f722ecff80756718cbaf01fce)

10 months agoos/bluestore: Modify read/write_bdev_label functions
Adam Kupczyk [Mon, 29 Jan 2024 15:34:18 +0000 (15:34 +0000)]
os/bluestore: Modify read/write_bdev_label functions

Modify read_bdev_label and write_bdev_label functions to operate on any disk location.
Default falls back to original position 0, which is now named BDEV_LABEL_POSITION.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 8e7b9deb65347b80b5c1ab895654bce6681741ab)

10 months agoos/bluestore: Remove bluestore_debug_prefill
Adam Kupczyk [Wed, 24 Jan 2024 16:31:32 +0000 (16:31 +0000)]
os/bluestore: Remove bluestore_debug_prefill

Remove outdated and useless debug setting.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 3b904283f33ebb9ed83b82eeb6f97846781401ac)

10 months agoos/bluestore: Make read_meta / write_meta cached
Adam Kupczyk [Tue, 23 Jan 2024 12:31:53 +0000 (12:31 +0000)]
os/bluestore: Make read_meta / write_meta cached

Modified read_meta and write_meta to keep current bdev_label cached,
instead of reading it all over again.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit 22c3eb548bf6270e28ee07891c4cecfa3514d4e1)

10 months agoMerge pull request #59364 from ceph/squid-release
Yuri Weinstein [Thu, 22 Aug 2024 22:29:11 +0000 (15:29 -0700)]
Merge pull request #59364 from ceph/squid-release

v19.1.1

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
10 months agomgr/cephadm: add "original_weight" parameter to OSD class 59410/head
Adam King [Mon, 19 Aug 2024 16:30:24 +0000 (12:30 -0400)]
mgr/cephadm: add "original_weight" parameter to OSD class

Fixes: https://tracker.ceph.com/issues/67329
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 04330f5df92994882efcd4879d5c37279138e97b)

10 months agoMerge pull request #59294 from zdover23/wip-doc-2024-08-19-backport-59256-to-squid
Zac Dover [Wed, 21 Aug 2024 14:12:01 +0000 (00:12 +1000)]
Merge pull request #59294 from zdover23/wip-doc-2024-08-19-backport-59256-to-squid

squid: doc/cephfs: s/mountpoint/mount point/

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
10 months agodoc/rados: document unfound object cache-tiering scenario 59380/head
Zac Dover [Tue, 20 Aug 2024 12:45:29 +0000 (22:45 +1000)]
doc/rados: document unfound object cache-tiering scenario

Explain how to deal with "unfound objects" when restarting OSDs in a
cache-tiered environment.

Fixes: https://tracker.ceph.com/issues/44286
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit f01d7a8d5b85170c034acb962b9833913853a1c5)

10 months agoMerge pull request #59010 from AliMasarweh/wip-67308-squid
Yuri Weinstein [Tue, 20 Aug 2024 17:55:10 +0000 (10:55 -0700)]
Merge pull request #59010 from AliMasarweh/wip-67308-squid

squid: RGW|BN: fix lifecycle test issue

Reviewed-by: Casey Bodley <cbodley@redhat.com>
10 months ago19.1.1 59364/head v19.1.1
Ceph Release Team [Tue, 20 Aug 2024 16:51:15 +0000 (12:51 -0400)]
19.1.1

Signed-off-by: Ceph Release Team <ceph-maintainers@ceph.io>
10 months agoMerge pull request #59055 from yuvalif/wip-67364-squid
Yuri Weinstein [Tue, 20 Aug 2024 14:59:38 +0000 (07:59 -0700)]
Merge pull request #59055 from yuvalif/wip-67364-squid

squid: common/dout: fix FTBFS on GCC 14

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
10 months agoMerge pull request #59041 from NitzanMordhai/wip-67349-squid
Yuri Weinstein [Tue, 20 Aug 2024 14:59:01 +0000 (07:59 -0700)]
Merge pull request #59041 from NitzanMordhai/wip-67349-squid

squid: Test: osd-recovery-space.sh extends the wait time for "recovery toofull"

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
10 months agoMerge pull request #58816 from Svelar/wip-67134-squid
Yuri Weinstein [Tue, 20 Aug 2024 14:56:07 +0000 (07:56 -0700)]
Merge pull request #58816 from Svelar/wip-67134-squid

squid: bluestore/bluestore_types: avoid heap-buffer-overflow in another way to keep code uniformity

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
10 months agoMerge pull request #59298 from Matan-B/wip-57782-squid-v2
Matan Breizman [Tue, 20 Aug 2024 11:22:29 +0000 (14:22 +0300)]
Merge pull request #59298 from Matan-B/wip-57782-squid-v2

squid: crimson/os/seastore: add checksum offload to RBM

Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
11 months agocrimson/os/seastore/cbj: skip crc calculation for cbj header if device supports the... 59298/head
myoungwon oh [Thu, 18 Jul 2024 07:41:05 +0000 (07:41 +0000)]
crimson/os/seastore/cbj: skip crc calculation for cbj header if device supports the checksum offload

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

11 months agocrimson/os/seastore: disable crc calculation if end to end data protection is enabled
Myoungwon Oh [Thu, 4 Jul 2024 09:04:38 +0000 (18:04 +0900)]
crimson/os/seastore: disable crc calculation if end to end data protection is enabled

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

11 months agocrimson/os/seastore/rbm: add handle_exception() to pass_through_io()
myoungwon oh [Fri, 12 Jul 2024 04:13:13 +0000 (04:13 +0000)]
crimson/os/seastore/rbm: add handle_exception() to pass_through_io()

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

11 months agocrimson/os/seastore: remove multistream related codes
myoungwon oh [Thu, 13 Jun 2024 06:07:56 +0000 (06:07 +0000)]
crimson/os/seastore: remove multistream related codes

Current codes allow the device to allocate multiple namespace without specific policy
if the nvme device report that it is capable of mutistream functionality.
So, this commit removes the multistream related code, leaving it as a TODO.

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

11 months agocrimson/os/seastore: add nvme_read and nvme_write to be used when end to end data...
myoungwon oh [Tue, 28 May 2024 10:35:45 +0000 (10:35 +0000)]
crimson/os/seastore: add nvme_read and nvme_write to be used when end to end data protection is enabled

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

11 months agocrimson/os/seastore/rbm: turn on end-to-end-data-protection during mkfs if possible
myoungwon oh [Mon, 27 May 2024 09:32:56 +0000 (09:32 +0000)]
crimson/os/seastore/rbm: turn on end-to-end-data-protection during mkfs if possible

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

11 months agocrimson/os/seastore: replace rbm_metadata_header_t with rbm_superblock_t
myoungwon oh [Thu, 20 Jun 2024 05:32:15 +0000 (05:32 +0000)]
crimson/os/seastore: replace rbm_metadata_header_t with rbm_superblock_t

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