]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
19 months agocrimson/osd: OSDBeacon to report lec
Matan Breizman [Sun, 12 Nov 2023 13:31:40 +0000 (13:31 +0000)]
crimson/osd: OSDBeacon to report lec

See: https://github.com/ceph/ceph/pull/14504

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
19 months agocrimson/osd: update TODO comments
Matan Breizman [Sun, 12 Nov 2023 08:29:50 +0000 (08:29 +0000)]
crimson/osd: update TODO comments

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
19 months agoosd/crimson/pg: support cluster_osdmap_trim_lower_bound()
Matan Breizman [Thu, 9 Nov 2023 16:34:44 +0000 (16:34 +0000)]
osd/crimson/pg: support cluster_osdmap_trim_lower_bound()

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
19 months agocrimson/osd: update superblock managment
Matan Breizman [Thu, 23 Nov 2023 14:42:28 +0000 (14:42 +0000)]
crimson/osd: update superblock managment

introduce PerShardState::superblock to be updated on
each shard once the OSDSingletonState instance is updated.

Note: PerShardState::superblock is a dependency for
      PG::cluster_osdmap_trim_lower_bound().

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
19 months agocrimson/osd: introduce osdmap trimming
Matan Breizman [Thu, 9 Nov 2023 12:44:42 +0000 (12:44 +0000)]
crimson/osd: introduce osdmap trimming

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
19 months agocrimson/osd/osd_meta: add OSDMeta::remove_map
Matan Breizman [Sun, 12 Nov 2023 08:15:23 +0000 (08:15 +0000)]
crimson/osd/osd_meta: add OSDMeta::remove_map

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
19 months agocrimson/common/shared_lru: introduce cached_key_lower_bound()
Matan Breizman [Thu, 9 Nov 2023 16:51:20 +0000 (16:51 +0000)]
crimson/common/shared_lru: introduce cached_key_lower_bound()

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
19 months agoMerge pull request #54287 from Matan-B/wip-matanb-crimson-do_osd_ops_execute-v3
Matan Breizman [Wed, 29 Nov 2023 08:13:41 +0000 (10:13 +0200)]
Merge pull request #54287 from Matan-B/wip-matanb-crimson-do_osd_ops_execute-v3

crimson/osd: execute `submit_error_log` as an ExclusivePhase

Reviewed-by: Samuel Just <sjust@redhat.com>
19 months agoMerge pull request #54209 from VallariAg/wip-xml-scanner
Vallari Agrawal [Wed, 29 Nov 2023 06:51:02 +0000 (12:21 +0530)]
Merge pull request #54209 from VallariAg/wip-xml-scanner

qa: use Remote.run_unit_test and ValgrindScanner

19 months agoMerge pull request #54685 from zdover23/wip-doc-2023-11-28-rados-tshooting-log-and...
zdover23 [Wed, 29 Nov 2023 04:39:10 +0000 (05:39 +0100)]
Merge pull request #54685 from zdover23/wip-doc-2023-11-28-rados-tshooting-log-and-debug-small-repair

doc/rados: improve "Ceph Subsystems"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agoMerge pull request #54684 from zdover23/wip-doc-2023-11-28-rados-ops-pgs-typo
zdover23 [Wed, 29 Nov 2023 04:34:43 +0000 (05:34 +0100)]
Merge pull request #54684 from zdover23/wip-doc-2023-11-28-rados-ops-pgs-typo

doc/rados: ops/pgs: s/power of 2/power of two

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agodoc/rados: improve "Ceph Subsystems" 54685/head
Zac Dover [Tue, 28 Nov 2023 05:08:48 +0000 (06:08 +0100)]
doc/rados: improve "Ceph Subsystems"

Improve the English in the subsection "Ceph Subsystems" in the section
"Subsystem, Log and Debug Settings" [sic] in
doc/rados/troubleshooting/log-and-debug.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agodoc/rados: ops/pgs: s/power of 2/power of two 54684/head
Zac Dover [Tue, 28 Nov 2023 04:29:50 +0000 (05:29 +0100)]
doc/rados: ops/pgs: s/power of 2/power of two

Change "power of 2" to "power of two" in
doc/rados/operations/placement-groups.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 #51229 from jsoref/spelling-rgw
Daniel Gryniewicz [Tue, 28 Nov 2023 14:38:01 +0000 (09:38 -0500)]
Merge pull request #51229 from jsoref/spelling-rgw

rgw: Fix spelling

19 months agoMerge pull request #53456 from petrutlucian94/dokan_case_insensitive
Venky Shankar [Tue, 28 Nov 2023 13:58:20 +0000 (19:28 +0530)]
Merge pull request #53456 from petrutlucian94/dokan_case_insensitive

dokan: simple case insensitive emulation

Reviewed-by: Venky Shankar <vshankar@redhat.com>
19 months agoMerge pull request #54621 from cbodley/wip-rgw-posix-warning 54658/head
Casey Bodley [Mon, 27 Nov 2023 17:16:05 +0000 (17:16 +0000)]
Merge pull request #54621 from cbodley/wip-rgw-posix-warning

rgw/posix: fix unused variable warning

Reviewed-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
19 months agorgw: fix spelling errors 51229/head
Josh Soref [Thu, 23 Jun 2022 01:24:12 +0000 (21:24 -0400)]
rgw: fix spelling errors

* access
* acquire
* across
* algorithm
* alternatively
* ambiguous
* attributes
* authenticated
* automatically
* based
* between
* beware
* bootstrap
* bucket
* cache
* character
* check
* cleanup
* combinations
* committed
* comparison
* compatibility
* concurrent
* conditions
* conjunction
* connections
* considered
* contains
* correct
* creates
* crypto
* dependencies
* dequeued
* dequeuing
* derivative
* described
* determine
* deterministic
* detritus
* discrepancy
* display
* either way
* elements
* entirely
* entries
* error
* everything
* expected
* explicitly
* extend
* false
* fclose
* feature
* following
* foreign
* format
* forward
* functionality
* functions
* generated
* getting
* gracefully
* happened
* hashicorp
* healthcheck
* hierarchy
* however
* http
* identify
* idleness
* ignored
* incremental
* information
* initialization
* length
* locally
* macros
* malformed
* means
* mechanism
* multipart
* multiple
* must
* namespace
* necessary
* nonexistent
* notifications
* occurred
* official
* outputs
* outputted
* overridden
* ownership
* parallelism
* partition
* passthrough
* pause
* penguin
* perform
* permission
* populated
* position
* preferably
* prefixes
* presumably
* previous
* print
* quadruple
* reference
* regardless
* registry
* renewed
* request
* requires
* reshard
* resource
* result to
* satisfy
* secret
* separate
* separator
* setting
* shouldn't
* skipping
* some
* somehow
* something
* specific
* struct
* succeeded
* success
* successful
* successfully
* syntax
* testing
* truncated
* unambiguously
* unittest
* unmodified
* unnecessary
* valid_action
* verifying
* versioning
* visible
* whatever
* whenever

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
19 months agorgw: rewrite rgw_admin help text
Josh Soref [Thu, 23 Jun 2022 08:11:09 +0000 (04:11 -0400)]
rgw: rewrite rgw_admin help text

* The line wrapping was fairly random.
* There were cases where words appeared to be doubled.
  - In fact one was an argument
  - the other was the start of the help text.

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
19 months agoMerge pull request #54626 from cbodley/wip-cmake-rocksdb-uring
Casey Bodley [Mon, 27 Nov 2023 14:20:31 +0000 (14:20 +0000)]
Merge pull request #54626 from cbodley/wip-cmake-rocksdb-uring

cmake/rocksdb: make sure dependencies build before rocksdb

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
19 months agoMerge pull request #54531 from rhcs-dashboard/port-manipulation-rgw
Nizamudeen A [Mon, 27 Nov 2023 12:18:33 +0000 (17:48 +0530)]
Merge pull request #54531 from rhcs-dashboard/port-manipulation-rgw

mgr/dashboard: get rgw port from ssl_endpoint

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
19 months agoMerge pull request #54459 from AliMasarweh/wip-alimasa-2pc-remove-issue
Ali Masarwa [Mon, 27 Nov 2023 10:43:46 +0000 (12:43 +0200)]
Merge pull request #54459 from AliMasarweh/wip-alimasa-2pc-remove-issue

RGW: make new rados support old RGW 2pc remove

Reviewed-by: yuvalif, cbodley
19 months agoMerge pull request #54664 from zdover23/wip-doc-2023-11-27-rados-troubleshooting...
zdover23 [Mon, 27 Nov 2023 05:57:01 +0000 (15:57 +1000)]
Merge pull request #54664 from zdover23/wip-doc-2023-11-27-rados-troubleshooting-troubleshooting-mon-everything-failed

doc/rados: edit "Everything Failed! Now What?"

Reviewed-by: Antony D'Atri <anthony.datri@gmail.com>
19 months agodoc/rados: edit "Everything Failed! Now What?" 54664/head
Zac Dover [Mon, 27 Nov 2023 00:17:17 +0000 (10:17 +1000)]
doc/rados: edit "Everything Failed! Now What?"

Edit the section "Everything Failed! Now what?" in
doc/rados/troubleshooting/troubleshooting-mon.rst.

Co-authored-by: Anthoy D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoRGW: make new rados support old RGW 2pc remove 54459/head
Ali Masarwa [Tue, 31 Oct 2023 13:55:41 +0000 (15:55 +0200)]
RGW: make new rados support old RGW 2pc remove

Signed-off-by: Ali Masarwa <ali.saed.masarwa@gmail.com>
19 months agoMerge pull request #53290 from ThomasLamprecht/debian-fix-ceph-mgr-requires
Kefu Chai [Sun, 26 Nov 2023 08:28:55 +0000 (16:28 +0800)]
Merge pull request #53290 from ThomasLamprecht/debian-fix-ceph-mgr-requires

debian: add missing bcrypt to ceph-mgr .requires to fix resulting package dependencies

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
19 months agoMerge pull request #54656 from zdover23/wip-doc-2023-11-25-rados-troubleshooting...
zdover23 [Sun, 26 Nov 2023 04:04:20 +0000 (14:04 +1000)]
Merge pull request #54656 from zdover23/wip-doc-2023-11-25-rados-troubleshooting-mon-mon-store-failures-1-of-x

doc/rados: edit "monitor store failures"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agodebian: add missing bcrypt to manager .requires 53290/head
Thomas Lamprecht [Tue, 5 Sep 2023 11:28:07 +0000 (13:28 +0200)]
debian: add missing bcrypt to manager .requires

The `ceph-mgr` package lost its dependency on `python3-bcrypt` when
the dependencies got moved from d/control to a dh_python3 compatible
requires file. Add it again as the bcrypt module is still used there.

Otherwise one gets errors when, e.g., calling `ceph -s` after a fresh
installation:

> 13 mgr modules have failed dependencies
> Module 'balancer' has failed dependency: No module named 'bcrypt'
> Module 'crash' has failed dependency: No module named 'bcrypt'
> Module 'devicehealth' has failed dependency: No module named 'bcrypt'
> Module 'iostat' has failed dependency: No module named 'bcrypt'
> Module 'nfs' has failed dependency: No module named 'bcrypt'
> Module 'orchestrator' has failed dependency: No module named 'bcrypt'
> Module 'pg_autoscaler' has failed dependency: No module named 'bcrypt'
> Module 'progress' has failed dependency: No module named 'bcrypt'
> Module 'rbd_support' has failed dependency: No module named 'bcrypt'
> Module 'restful' has failed dependency: No module named 'bcrypt'
> Module 'status' has failed dependency: No module named 'bcrypt'
> Module 'telemetry' has failed dependency: No module named 'bcrypt'
> Module 'volumes' has failed dependency: No module named 'bcrypt'

Fixes: https://tracker.ceph.com/issues/63637
Fixes: ef19547e83e ("debian: add .requires for specifying python3 deps")
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
19 months agodoc/rados: edit "monitor store failures" 54656/head
Zac Dover [Fri, 24 Nov 2023 21:33:24 +0000 (07:33 +1000)]
doc/rados: edit "monitor store failures"

Edit the section "Monitor Store Failures" in
doc/rados/troubleshooting/troubleshooting-mon.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 #54625 from zdover23/wip-doc-2023-11-23-rados-troubleshooting...
zdover23 [Fri, 24 Nov 2023 21:06:53 +0000 (07:06 +1000)]
Merge pull request #54625 from zdover23/wip-doc-2023-11-23-rados-troubleshooting-mon-client-cant-connect

doc/rados: edit "client can't connect..."

Reviewed-by: Cole Mitchell <cole.mitchell.ceph@gmail.com>
19 months agoMerge pull request #52931 from yuvalif/wip-yuval-lua-teuthology
Yuval Lifshitz [Fri, 24 Nov 2023 09:38:51 +0000 (11:38 +0200)]
Merge pull request #52931 from yuvalif/wip-yuval-lua-teuthology

rgw/test/lua: add lua integration tests suite

reviewed-by: TRYTOBE8TME, cbodley

19 months agoMerge pull request #54637 from yuvalif/wip-yuval-62136
Yuval Lifshitz [Fri, 24 Nov 2023 09:36:03 +0000 (11:36 +0200)]
Merge pull request #54637 from yuvalif/wip-yuval-62136

rgw/test/kafka: let consumer read events from the beginning

reviewed-by: thotz

19 months agoMerge pull request #54516 from cbodley/wip-63537
Casey Bodley [Fri, 24 Nov 2023 02:47:55 +0000 (02:47 +0000)]
Merge pull request #54516 from cbodley/wip-63537

rgw: object lock avoids 32-bit truncation of RetainUntilDate

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
19 months agoencoding: use concepts for chrono encoding 54516/head
Casey Bodley [Wed, 15 Nov 2023 20:28:46 +0000 (15:28 -0500)]
encoding: use concepts for chrono encoding

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw: object lock uses 64-bit encoding for RetainUntilDate
Casey Bodley [Wed, 15 Nov 2023 21:24:47 +0000 (16:24 -0500)]
rgw: object lock uses 64-bit encoding for RetainUntilDate

the default encoding of ceph::real_time truncates seconds to uint32_t,
so stores the wrong timestamp for object lock enforcement

Fixes: https://tracker.ceph.com/issues/63537
Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agoencoding: add round_trip_encode()/decode() for chrono types
Casey Bodley [Wed, 15 Nov 2023 20:29:35 +0000 (15:29 -0500)]
encoding: add round_trip_encode()/decode() for chrono types

the default encodings for chrono types were made to be
backward-compatible with utime_t, so truncated seconds to 32 bits

adds new functions that encode these chrono types using their underlying
representation, which for ceph::real_time and ceph::timespan is
'nanoseconds as uint64_t'

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #54600 from cbodley/wip-rgw-period-realm-name-encode
Casey Bodley [Fri, 24 Nov 2023 00:15:53 +0000 (00:15 +0000)]
Merge pull request #54600 from cbodley/wip-rgw-period-realm-name-encode

rgw: fix RGWPeriod encoding after removing realm_name

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
Reviewed-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
19 months agoMerge pull request #54297 from linuxbox2/wip-librgw-tcmalloc
Casey Bodley [Fri, 24 Nov 2023 00:15:02 +0000 (00:15 +0000)]
Merge pull request #54297 from linuxbox2/wip-librgw-tcmalloc

rgw: link only radosgw with ALLOC_LIBS

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #53504 from davidhall586/Bug62105
Casey Bodley [Fri, 24 Nov 2023 00:14:08 +0000 (00:14 +0000)]
Merge pull request #53504 from davidhall586/Bug62105

rgw: SignatureDoesNotMatch for certain RGW Admin Ops endpoints w/v4 auth

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #50148 from cbodley/wip-58750
Casey Bodley [Fri, 24 Nov 2023 00:13:17 +0000 (00:13 +0000)]
Merge pull request #50148 from cbodley/wip-58750

rgw: Head/GetObject support partNumber

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
19 months agoMerge pull request #50790 from jzhu116-bloomberg/wip-51772
Casey Bodley [Fri, 24 Nov 2023 00:10:01 +0000 (00:10 +0000)]
Merge pull request #50790 from jzhu116-bloomberg/wip-51772

rgw/swift: preserve dashes/underscores in swift user metadata names

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw: fix the ret cond check CreateBucket::Execute() 50790/head
Jane Zhu [Wed, 1 Nov 2023 16:32:52 +0000 (12:32 -0400)]
rgw: fix the ret cond check CreateBucket::Execute()

Signed-off-by: Juan Zhu <jzhu4@dev-10-34-20-139.pw1.bcc.bloomberg.com>
19 months agorgw: modify ret cond in middle of CreateBucket::Execute()
Ali Maredia [Wed, 20 Sep 2023 04:12:15 +0000 (04:12 +0000)]
rgw: modify ret cond in middle of CreateBucket::Execute()

Return prevents swift metadata from being removed
if bucket already exists.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
19 months agorgw/swift: convert underscores to hyphens in swift user metadata names
Jane Zhu [Tue, 8 Aug 2023 08:17:47 +0000 (04:17 -0400)]
rgw/swift: convert underscores to hyphens in swift user metadata names

Signed-off-by: Juan Zhu <jzhu4@dev-10-34-20-139.pw1.bcc.bloomberg.com>
19 months agorgw/swift: preserve dashes/underscores in swift user metadata names
Jane Zhu [Thu, 30 Mar 2023 05:23:55 +0000 (01:23 -0400)]
rgw/swift: preserve dashes/underscores in swift user metadata names

Signed-off-by: Juan Zhu <jzhu116@bloomberg.net>
19 months agoMerge pull request #54641 from likid0/ceph_session_tags_fixes
Anthony D'Atri [Thu, 23 Nov 2023 22:38:42 +0000 (17:38 -0500)]
Merge pull request #54641 from likid0/ceph_session_tags_fixes

doc/radosgw: Fix JSON typo in Principal Tag example code snippet

19 months agodoc/radosgw: Fix JSON typo in Principal Tag example code snippet 54641/head
Daniel Parkes [Thu, 23 Nov 2023 21:15:52 +0000 (22:15 +0100)]
doc/radosgw: Fix JSON typo in Principal Tag example code snippet

Signed-off-by: Daniel Parkes <dparkes@redhat.com>
19 months agorgw/test/lua: add lua integration tests suite 52931/head
Yuval Lifshitz [Mon, 3 Jul 2023 07:06:51 +0000 (07:06 +0000)]
rgw/test/lua: add lua integration tests suite

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
Fixes: https://tracker.ceph.com/issues/63616
19 months agorgw/lua: print luarocks config during reload
Yuval Lifshitz [Mon, 23 Oct 2023 13:46:06 +0000 (13:46 +0000)]
rgw/lua: print luarocks config during reload

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
19 months agorgw/test/kafka: let consumer read events from the beginning 54637/head
Yuval Lifshitz [Thu, 23 Nov 2023 14:29:04 +0000 (14:29 +0000)]
rgw/test/kafka: let consumer read events from the beginning

in some cases the RGW may publish the notifications before the kafka
consumer started reading the events from the topic

Fixes: https://tracker.ceph.com/issues/62136
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
19 months agoMerge pull request #54632 from zdover23/wip-doc-2023-11-23-rados-troubleshooting...
Anthony D'Atri [Thu, 23 Nov 2023 12:55:24 +0000 (07:55 -0500)]
Merge pull request #54632 from zdover23/wip-doc-2023-11-23-rados-troubleshooting-mon-restart-mon-debug-levels-formatting

doc/rados: format sections in tshooting-mon.rst

19 months agodoc/rados: format sections in tshooting-mon.rst 54632/head
Zac Dover [Thu, 23 Nov 2023 11:54:54 +0000 (21:54 +1000)]
doc/rados: format sections in tshooting-mon.rst

Format definition lists in the section "Do I need to restart a monitor
to adjust debug levels?" in
doc/rados/troubleshooting/troubleshooting-mon.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agocmake/rocksdb: make sure dependencies build before rocksdb 54626/head
Casey Bodley [Thu, 23 Nov 2023 05:12:29 +0000 (00:12 -0500)]
cmake/rocksdb: make sure dependencies build before rocksdb

some of rocksdb's dependencies may not have built by the time its
ExternalProject starts, so it can fail with missing headers or
libraries. for example, `uring::uring` may itself be an ExternalProject,
and its include directory won't exist until it starts building:

```
[89/1345] Performing configure step for 'rocksdb_ext'
FAILED: src/rocksdb_ext-prefix/src/rocksdb_ext-stamp/rocksdb_ext-configure build/src/rocksdb_ext-prefix/src/rocksdb_ext-stamp/rocksdb_ext-configure
...
CMake Error in CMakeLists.txt:
  Imported target "uring::uring" includes non-existent path

    "build/src/liburing/src/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.
...
[91/1345] Performing download step (git clone) for 'liburing_ext'
Cloning into 'liburing'...
```

use `add_dependencies(rocksdb_ext)` to make sure all of its dependencies
are available before starting the build

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agodoc/rados: edit "client can't connect..." 54625/head
Zac Dover [Thu, 23 Nov 2023 04:59:24 +0000 (14:59 +1000)]
doc/rados: edit "client can't connect..."

Edit the section "Client can't connect or mount" in the file
doc/rados/troubleshooting/troubleshooting-mon.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
20 months agorgw/posix: fix unused variable warning 54621/head
Casey Bodley [Wed, 22 Nov 2023 19:26:50 +0000 (14:26 -0500)]
rgw/posix: fix unused variable warning

ceph/src/rgw/driver/posix/rgw_sal_posix.cc:37:19: warning: unused variable 'MP_OBJ_PART_FMT' [-Wunused-const-variable]
const std::string MP_OBJ_PART_FMT = "{:0>5}";
                  ^

Signed-off-by: Casey Bodley <cbodley@redhat.com>
20 months agoMerge pull request #54599 from cbodley/wip-crush-test-warnings
Casey Bodley [Wed, 22 Nov 2023 13:20:25 +0000 (13:20 +0000)]
Merge pull request #54599 from cbodley/wip-crush-test-warnings

crush: remove unused variables

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
20 months agoMerge pull request #53291 from petrutlucian94/unicode
Ilya Dryomov [Wed, 22 Nov 2023 11:03:59 +0000 (12:03 +0100)]
Merge pull request #53291 from petrutlucian94/unicode

common: Windows Unicode support

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
20 months agotest: fix Windows ::_creat 53291/head
Lucian Petrut [Mon, 6 Nov 2023 14:58:08 +0000 (14:58 +0000)]
test: fix Windows ::_creat

The Windows Universal C Runtime (ucrt) "_creat" function is no
longer POSIX compatible and requires Windows specific mode flags.

We got admin socket test failures after switching from msvcrt to
uscrt.

We'll address the issue with some platform checks.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
20 months agocommon: Windows Unicode CLI support
Lucian Petrut [Fri, 18 Aug 2023 12:25:52 +0000 (12:25 +0000)]
common: Windows Unicode CLI support

Windows CLI arguments use either ANSI (main()) or UTF-16 (wmain()).
Meanwhile, Ceph libraries expect UTF-8 and raise exceptions when
trying to use Unicode CLI arguments or log Unicode output:

  rbd.exe create test_unicode_șțăâ --size=32M
  terminate called after throwing an instance of 'std::runtime_error'
    what():  invalid utf8

We'll use a Windows application manifest, setting the "activeCodePage"
property [1][2]. This enables the Windows UCRT UTF-8 mode so that
functions that receive char* arguments will expect UTF-8 instead of ANSI,
including main(). One exception is CreateProcess, which will need the
UTF-16 form (CreateProcessW).

Despite the locale being set to utf-8, we'll have to explicitly set
the console output to utf-8 using SetConsoleOutputCP(CP_UTF8).

In order to use the UTF-8 locale, we'll have to switch the mingw-llvm
runtime from msvcrt to ucrt.

This also fixes ceph-dokan crashes that currently occur when non-ANSI
paths are logged.

[1] https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests#activecodepage
[2] https://learn.microsoft.com/en-us/windows/apps/design/globalizing/use-utf8-code-page

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
20 months agoMerge pull request #54566 from badone/wip-python-version-fedora-39 54567/head
Brad Hubbard [Tue, 21 Nov 2023 23:44:22 +0000 (09:44 +1000)]
Merge pull request #54566 from badone/wip-python-version-fedora-39

do_cmake.sh: set python version for Fedora 39

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
20 months agoMerge pull request #54447 from ceph/wip-fix-flight-load-bucket
J. Eric Ivancich [Tue, 21 Nov 2023 21:36:53 +0000 (16:36 -0500)]
Merge pull request #54447 from ceph/wip-fix-flight-load-bucket

rgw: fix flight load_bucket call

Reviewed-by: Casey Bodley <cbodley@redhat.com>
20 months agoMerge pull request #47208 from 5cs/fix-lambda-capture-by-ref
J. Eric Ivancich [Tue, 21 Nov 2023 21:36:27 +0000 (16:36 -0500)]
Merge pull request #47208 from 5cs/fix-lambda-capture-by-ref

rgwlc: lock_lambda overwrites ret val

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
20 months agoMerge pull request #54598 from zdover23/wip-doc-2023-11-22-rados-troubleshooting...
zdover23 [Tue, 21 Nov 2023 19:56:33 +0000 (05:56 +1000)]
Merge pull request #54598 from zdover23/wip-doc-2023-11-22-rados-troubleshooting-mon-recovering-broken-monmap

doc/rados: edit "recovering broken monmap"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
20 months agodoc/rados: edit "recovering broken monmap" 54598/head
Zac Dover [Tue, 21 Nov 2023 17:54:19 +0000 (03:54 +1000)]
doc/rados: edit "recovering broken monmap"

Edit the section "Recovering a monitor's broken monmap" in
doc/rados/troubleshooting/troubleshooting-mon.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
20 months agorgw: fix RGWPeriod encoding after removing realm_name 54600/head
Casey Bodley [Tue, 21 Nov 2023 19:25:11 +0000 (14:25 -0500)]
rgw: fix RGWPeriod encoding after removing realm_name

Signed-off-by: Casey Bodley <cbodley@redhat.com>
20 months agocrush: remove unused variables 54599/head
Casey Bodley [Tue, 21 Nov 2023 18:44:40 +0000 (13:44 -0500)]
crush: remove unused variables

[161/715] Building CXX object src/crush/CMakeFiles/crush_objs.dir/CrushTester.cc.o
ceph/src/crush/CrushTester.cc:478:7: warning: variable 'num_devices_active' set but not used [-Wunused-but-set-variable]
  int num_devices_active = 0;
      ^
1 warning generated.
[165/715] Building CXX object src/crush/CMakeFiles/crush_objs.dir/CrushWrapper.cc.o
ceph/src/crush/CrushWrapper.cc:1579:9: warning: variable 'local_changed' set but not used [-Wunused-but-set-variable]
    int local_changed = 0;
        ^

Signed-off-by: Casey Bodley <cbodley@redhat.com>
20 months agorgw: non-multipart uploads serve entire range on partNumber=1 50148/head
Casey Bodley [Wed, 11 Oct 2023 21:45:17 +0000 (17:45 -0400)]
rgw: non-multipart uploads serve entire range on partNumber=1

and omit the x-amz-mp-parts-count response header

Signed-off-by: Casey Bodley <cbodley@redhat.com>
20 months agoReleaseNotes: document support for partNumber
Casey Bodley [Thu, 3 Aug 2023 20:52:43 +0000 (16:52 -0400)]
ReleaseNotes: document support for partNumber

Signed-off-by: Casey Bodley <cbodley@redhat.com>
20 months agorgw/rados: RadosReadOp::prepare only updates object instance
Casey Bodley [Mon, 20 Feb 2023 22:27:28 +0000 (17:27 -0500)]
rgw/rados: RadosReadOp::prepare only updates object instance

when called on a versioned object, prepare() may follow olh and look up
a different object instance

but when called on a multipart part, we should not overwrite the
original object name with the part's object name (of the form
mymultipart.2~_XLFNqOW0NuiALg7q4-Hi_7hdtAkZUH.1)

Signed-off-by: Casey Bodley <cbodley@redhat.com>
20 months agorgw/rados: part support for RGWRados::Object::Read
Casey Bodley [Fri, 17 Feb 2023 13:47:05 +0000 (08:47 -0500)]
rgw/rados: part support for RGWRados::Object::Read

Signed-off-by: Casey Bodley <cbodley@redhat.com>
20 months agorgw/rados: add obj_find_part() to RGWObjManifest
Casey Bodley [Mon, 20 Feb 2023 16:17:34 +0000 (11:17 -0500)]
rgw/rados: add obj_find_part() to RGWObjManifest

Signed-off-by: Casey Bodley <cbodley@redhat.com>
20 months agorgw/rados: add get_obj_state() overload for RGWObjStateManifest
Casey Bodley [Mon, 20 Feb 2023 13:08:01 +0000 (08:08 -0500)]
rgw/rados: add get_obj_state() overload for RGWObjStateManifest

add an overload to expose the manifest storage to callers of
get_obj_state(). the existing RGWObjState+RGWObjManifest overload
just calls the RGWObjStateManifest one

Signed-off-by: Casey Bodley <cbodley@redhat.com>
20 months agorgw/rados: remove get_obj_state() overload for follow_olh=true
Casey Bodley [Mon, 20 Feb 2023 13:06:52 +0000 (08:06 -0500)]
rgw/rados: remove get_obj_state() overload for follow_olh=true

and just add the follow_olh=true argument to callers

Signed-off-by: Casey Bodley <cbodley@redhat.com>
20 months agorgw/s3: add part param and response to GetObj
Casey Bodley [Fri, 17 Feb 2023 03:50:37 +0000 (22:50 -0500)]
rgw/s3: add part param and response to GetObj

Signed-off-by: Casey Bodley <cbodley@redhat.com>
20 months agoMerge pull request #52813 from cbodley/wip-59424
Casey Bodley [Tue, 21 Nov 2023 13:33:58 +0000 (13:33 +0000)]
Merge pull request #52813 from cbodley/wip-59424

qa/rgw: run s3tests against keystone ec2

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
20 months agoMerge pull request #53798 from asm0deuz/track_58812
Guillaume Abrioux [Tue, 21 Nov 2023 11:25:25 +0000 (12:25 +0100)]
Merge pull request #53798 from asm0deuz/track_58812

ceph-volume: fixes fallback to stat in is_device and is_partition

20 months agoMerge pull request #54513 from Matan-B/wip-matanb-crimson-snaptrimevent-lifetime
Samuel Just [Tue, 21 Nov 2023 03:16:37 +0000 (19:16 -0800)]
Merge pull request #54513 from Matan-B/wip-matanb-crimson-snaptrimevent-lifetime

crimson/osd/osd_operations/snaptrim_event: lifetime fixes

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
20 months agodo_cmake.sh: set python version for Fedora 39 54566/head
Brad Hubbard [Mon, 20 Nov 2023 04:43:31 +0000 (14:43 +1000)]
do_cmake.sh: set python version for Fedora 39

If do_cmake.sh is being exeuted on Fedora 39 set Python version to 3.12.
Remove versions for anything earlier than Fedora 37

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
20 months agoMerge pull request #54574 from zdover23/wip-doc-2023-11-21-rados-troubleshooting...
zdover23 [Mon, 20 Nov 2023 18:42:49 +0000 (04:42 +1000)]
Merge pull request #54574 from zdover23/wip-doc-2023-11-21-rados-troubleshooting-mon-understanding-mon-status

doc/rados: edit "understanding mon_status"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
20 months agoMerge pull request #54565 from zdover23/wip-doc-2023-11-20-radso-troubleshooting...
zdover23 [Mon, 20 Nov 2023 18:36:21 +0000 (04:36 +1000)]
Merge pull request #54565 from zdover23/wip-doc-2023-11-20-radso-troubleshooting-mon-admin-socket

doc/rados: edit "Using the Monitor's Admin Socket"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
20 months agodoc/rados: edit "understanding mon_status" 54574/head
Zac Dover [Mon, 20 Nov 2023 16:39:39 +0000 (02:39 +1000)]
doc/rados: edit "understanding mon_status"

Edit the section "Understanding mon_status" in
doc/rados/troubleshooting/troubleshooting-mon.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
20 months agoMerge pull request #54571 from lxbsz/wip-63586-debuglog
Ilya Dryomov [Mon, 20 Nov 2023 15:36:59 +0000 (16:36 +0100)]
Merge pull request #54571 from lxbsz/wip-63586-debuglog

osd: log the number of extents for sparse read

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
20 months agoMerge pull request #54561 from zdover23/wip-doc-2023-11-20-documenting-ceph-url
zdover23 [Mon, 20 Nov 2023 15:24:27 +0000 (01:24 +1000)]
Merge pull request #54561 from zdover23/wip-doc-2023-11-20-documenting-ceph-url

doc/start: update release names

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
20 months agoosd: add more debug logs for sparse read 54571/head
Xiubo Li [Mon, 20 Nov 2023 14:04:12 +0000 (22:04 +0800)]
osd: add more debug logs for sparse read

This will be very important to get to know what exactly has happened
when client get a very large number of extents.

URL: https://tracker.ceph.com/issues/63586
Signed-off-by: Xiubo Li <xiubli@redhat.com>
20 months agorgwlc: lock_lambda overwrites ret val 47208/head
Tongliang Deng [Thu, 21 Jul 2022 11:54:12 +0000 (11:54 +0000)]
rgwlc: lock_lambda overwrites ret val

`lock_lambda` captures `ret` by reference, it will overwrites
returned value of `bucket_lc_process` when `wait_backoff` is called.

Fixes: c069eb7ff09b52003fa00a5cc83b1e52370032f5.
Signed-off-by: Tongliang Deng <dengtongliang@gmail.com>
20 months agoMerge pull request #54564 from barakda/nvmeof_bump_latest_version
barakda [Mon, 20 Nov 2023 13:19:08 +0000 (15:19 +0200)]
Merge pull request #54564 from barakda/nvmeof_bump_latest_version

nvmeof bump latest version

20 months agoceph-volume: fixes fallback to stat in is_device and is_partition 53798/head
Teoman ONAY [Tue, 3 Oct 2023 19:47:16 +0000 (21:47 +0200)]
ceph-volume: fixes fallback to stat in is_device and is_partition

os.stat (or lstat) cannot distinguish a block device from
a partition.

Fixes: https://tracker.ceph.com/issues/58812
Signed-off-by: Teoman ONAY <tonay@ibm.com>
20 months agoMerge pull request #51340 from Javlopez/feature/12087-upgrade-and-generate-grafana... wip-alimasa-multi-pubsub-etag
Aashish Sharma [Mon, 20 Nov 2023 06:03:07 +0000 (11:33 +0530)]
Merge pull request #51340 from Javlopez/feature/12087-upgrade-and-generate-grafana-dashboards

monitoring: add new dashboards

Fixes: https://tracker.ceph.com/issues/63592
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
20 months agodoc/start: update release names 54561/head
Zac Dover [Sun, 19 Nov 2023 14:47:40 +0000 (00:47 +1000)]
doc/start: update release names

Update "Quincy" to "Reef" and "Pacific" to "Quincy" in the section
"Viewing Old Ceph Documentation" in /doc/start/documenting-ceph.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
20 months agodoc/rados: edit "Using the Monitor's Admin Socket" 54565/head
Zac Dover [Sun, 19 Nov 2023 20:32:09 +0000 (06:32 +1000)]
doc/rados: edit "Using the Monitor's Admin Socket"

Edit the section "Using the Monitor's Admin Socket" in
doc/rados/troubleshooting/troubleshooting-mon.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
20 months agonvmeof bump latest version 54564/head
barakda [Sun, 19 Nov 2023 20:24:09 +0000 (22:24 +0200)]
nvmeof bump latest version

Signed-off-by: barakda <barak.davidov@gmail.com>
20 months agoMerge pull request #54528 from yuvalif/wip-yuval-63532
Yuval Lifshitz [Sun, 19 Nov 2023 19:25:39 +0000 (21:25 +0200)]
Merge pull request #54528 from yuvalif/wip-yuval-63532

rgw/notifications: cleanup all coroutines after sending the notification

reviewed-by: cbodley

20 months agoMerge pull request #54545 from zdover23/wip-doc-2023-11-17-start-intro-osd-glossary
zdover23 [Sun, 19 Nov 2023 13:48:12 +0000 (23:48 +1000)]
Merge pull request #54545 from zdover23/wip-doc-2023-11-17-start-intro-osd-glossary

doc/start: explain "OSD"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
20 months agocrimson/osd/osd_operations/snaptrim_event: lifetime fixes 54513/head
Matan Breizman [Thu, 16 Nov 2023 09:38:04 +0000 (09:38 +0000)]
crimson/osd/osd_operations/snaptrim_event: lifetime fixes

```
    // SnapTrimEvent is a background operation,
    // it's lifetime is not guarnteed since the caller
    // returned future is being ignored. We should capture
    // a self reference thourhgout the entire execution
    // progress (not only on finally() continuations).
    // See: PG::on_active_actmap()
```

Sanitized backtrace:
```
DEBUG 2023-11-16 08:42:48,441 [shard 0] osd - snaptrim_event(id=21122, detail=SnapTrimEvent(pgid=3.1 snapid=3cb needs_pause=1)): interrupted crimson::common::actingset_changed (acting set changed

kernel callstack:
    #0 0x55e310e0ace7 in seastar::shared_mutex::unlock() (/usr/bin/ceph-osd+0x1edd0ce7)
    #1 0x55e313325d9c in auto seastar::futurize_invoke<crimson::OrderedConcurrentPhaseT<crimson::osd::SnapTrimEvent::WaitSubop>::ExitBarrier<crimson::OrderedConcurrentPhaseT<crimson::osd::SnapTrimEvent::WaitSubop>::BlockingEvent::Trigger<crimson::osd::SnapTrimEvent> >::exit()::{lambda()#1}&>(crimson::OrderedConcurrentPhaseT<crimson::osd::SnapTrimEvent::WaitSubop>::ExitBarrier<crimson::OrderedConcurrentPhaseT<crimson::osd::SnapTrimEvent::WaitSubop>::BlockingEvent::Trigger<crimson::osd::SnapTrimEvent> >::exit()::{lambda()#1}&) (/usr/bin/ceph-osd+0x212ebd9c)
    #2 0x55e3133260ef in _ZN7seastar20noncopyable_functionIFNS_6futureIvEEvEE17direct_vtable_forIZNS2_4thenIZN7crimson23OrderedConcurrentPhaseTINS7_3osd13SnapTrimEvent9WaitSubopEE11ExitBarrierINSC_13BlockingEvent7TriggerISA_EEE4exitEvEUlvE_S2_EET0_OT_EUlDpOT_E_E4callEPKS4_ (/usr/bin/ceph-osd+0x212ec0ef)
0x61500013365c is located 92 bytes inside of 472-byte region [0x615000133600,0x6150001337d8)
freed by thread T2 here:
    #0 0x7fb345ab73cf in operator delete(void*, unsigned long) (/lib64/libasan.so.6+0xb73cf)
    #1 0x55e313474863 in crimson::osd::SnapTrimEvent::~SnapTrimEvent() (/usr/bin/ceph-osd+0x2143a863)

previously allocated by thread T2 here:
    #0 0x7fb345ab6367 in operator new(unsigned long) (/lib64/libasan.so.6+0xb6367)
    #1 0x55e31183ac18 in auto crimson::OperationRegistryI::create_operation<crimson::osd::SnapTrimEvent, crimson::osd::PG*, SnapMapper&, snapid_t const&, bool const&>(crimson::osd::PG*&&, SnapMapper&, snapid_t const&, bool const&) (/usr/bin/ceph-osd+0x1f800c18)
SUMMARY: AddressSanitizer: heap-use-after-free (/usr/bin/ceph-osd+0x1edd0ce7) in seastar::shared_mutex::unlock()
```

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
20 months agocrimson/osd: avoid refcount mutations
Matan Breizman [Wed, 15 Nov 2023 14:27:05 +0000 (14:27 +0000)]
crimson/osd: avoid refcount mutations

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
20 months agocrimson/osd/pg: introduce clear_log_entry_maps() 54287/head
Matan Breizman [Wed, 15 Nov 2023 13:45:58 +0000 (13:45 +0000)]
crimson/osd/pg: introduce clear_log_entry_maps()

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
20 months agocrimson/osd/pg: move submit_error_log to do_osd_ops_execute
Matan Breizman [Tue, 7 Nov 2023 10:24:34 +0000 (10:24 +0000)]
crimson/osd/pg: move submit_error_log to do_osd_ops_execute

Previously, submit_error_log was chained to failure_func
returned future.
Now submit_error_log is called from within do_osd_ops_execute

Fixes: https://tracker.ceph.com/issues/61651
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
20 months agorgw/notifications: cleanup all coroutines after sending the notification 54528/head
Yuval Lifshitz [Thu, 16 Nov 2023 15:47:06 +0000 (15:47 +0000)]
rgw/notifications: cleanup all coroutines after sending the notification

this is fixing a regression from: 6b6592f50b6b81fa13a330bcb91273ba7f25c0c9

Fixes: https://tracker.ceph.com/issues/63580
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
20 months agocrimson/osd/pg: add `record_error` bool to failure_func
Matan Breizman [Sun, 19 Nov 2023 09:35:21 +0000 (09:35 +0000)]
crimson/osd/pg: add `record_error` bool to failure_func

```
submit_error_log records the result of an IO into the pg log so that we can return
the same error code if the client resends the request.
This should only be relevant for logical errors resulting from the target object state
-- for example, EEXIST returned on an exclusive create -- because there is application
logic built to rely on them.
In classic, the only such site is if the return value from do_osd_ops is negative
(or the transaction is empty) -- see PrimaryLogPG::prepare_transaction,
specifically where we set update_log_only to true.

We do not want to record space usage errors or errors specific to conditions on the primary
OSD such as IO errors -- submit_error_log isn't a catch-all error path.
```

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
20 months agocrimson/osd/pg: do_osd_ops_execute assert error type handling
Matan Breizman [Sun, 19 Nov 2023 09:33:26 +0000 (09:33 +0000)]
crimson/osd/pg: do_osd_ops_execute assert error type handling

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
20 months agocrimson/osd/pg: submit_error_log send messages to osd by order
Matan Breizman [Thu, 29 Jun 2023 08:26:48 +0000 (08:26 +0000)]
crimson/osd/pg: submit_error_log send messages to osd by order

Use chained futurized `send_to_osd()` instead of voided `send_cluster_message()`.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>