]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
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 )
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
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 )
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>
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 )
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
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
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 )
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>
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>
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>
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>
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>
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 )
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)
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 )
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)
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 )
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>
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>
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
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>
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>
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 )
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>
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 )
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 )
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 )
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 )
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 )
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 )
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>
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
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>
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 )
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>
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"
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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>
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 )
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>
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 )
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>
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>
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>
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>
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>
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>
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 )
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 )
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 )
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 )
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 )
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 )
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 )