]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 years agorgw: be compatible with fmtlib v8 49479/head
Kefu Chai [Fri, 16 Dec 2022 11:14:53 +0000 (19:14 +0800)]
rgw: be compatible with fmtlib v8

before fmtlib v9, fmtlib provides:

template<typename S, typename ...Args, typename Char = enable_if_t<detail::is_string<S>::value, char_t<S>>>
void fmt::print(std::basic_ostream<Char> &os, const S &format_str, Args&&... args)

but in fmtlib v9 and up, it provides:

template<typename ...T>
void fmt::print(std::ostream &os, format_string<T...> fmt, T&&... args)

so we need to use different function signatures for talking to different
fmtlib versions.

please see
https://fmt.dev/8.1.0/api.html#_CPPv4I0Dp0EN3fmt5printEvRNSt13basic_ostreamI4CharEERK1SDpRR4Args,
and
https://fmt.dev/9.0.0/api#_CPPv4IDpEN3fmt5printEvRNSt7ostreamE13format_stringIDp1TEDpRR1T

fore more details.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #49427 from tchaikov/wip-crimson-fmt
Yingxin [Thu, 15 Dec 2022 02:24:17 +0000 (10:24 +0800)]
Merge pull request #49427 from tchaikov/wip-crimson-fmt

crimson: fmtlib v9 related changes

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agoMerge pull request #49408 from tchaikov/wip-crimson-device_spec_t
Yingxin [Thu, 15 Dec 2022 02:21:22 +0000 (10:21 +0800)]
Merge pull request #49408 from tchaikov/wip-crimson-device_spec_t

crimson/os: define device_spec_t as packed

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agoMerge pull request #48710 from cbodley/wip-rgw-process-env
Casey Bodley [Wed, 14 Dec 2022 20:15:46 +0000 (15:15 -0500)]
Merge pull request #48710 from cbodley/wip-rgw-process-env

rgw: pass RGWProcessEnv into process_request()

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
2 years agoMerge pull request #49395 from adamemerson/wip-policy-useful-error-messages
Adam C. Emerson [Wed, 14 Dec 2022 20:13:51 +0000 (15:13 -0500)]
Merge pull request #49395 from adamemerson/wip-policy-useful-error-messages

rgw: Give useful errors when policies fail to parse

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
2 years agoMerge pull request #49141 from cbodley/wip-58111
Casey Bodley [Wed, 14 Dec 2022 19:59:58 +0000 (14:59 -0500)]
Merge pull request #49141 from cbodley/wip-58111

rgw: rgw_parse_url_bucket() rejects empty bucket names after 'tenant:'

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Abhishek Lekshmanan <abhishek.lekshmanan@cern.ch>
2 years agoMerge pull request #48226 from sseshasa/wip-fix-recovery-backfill-limits-for-mclock
Neha Ojha [Wed, 14 Dec 2022 18:59:15 +0000 (10:59 -0800)]
Merge pull request #48226 from sseshasa/wip-fix-recovery-backfill-limits-for-mclock

osd: Reduce backfill/recovery default limits for mClock and other optimizations

Reviewed-by: Vikhyat Umrao <vikhyat@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2 years agoMerge pull request #49178 from JoshSalomon/chg-primary
Laura Flores [Wed, 14 Dec 2022 15:52:55 +0000 (09:52 -0600)]
Merge pull request #49178 from JoshSalomon/chg-primary

osd: Add cli upmap command to change the primary OSD of a pg

2 years agoMerge pull request #48742 from rhcs-dashboard/add-tooltip
Pere Diaz Bou [Wed, 14 Dec 2022 14:06:09 +0000 (15:06 +0100)]
Merge pull request #48742 from rhcs-dashboard/add-tooltip

mgr/dashboard: add tooltip mirroring pools table

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2 years agoMerge pull request #49418 from tchaikov/wip-cls-fifo-fmt
Kefu Chai [Wed, 14 Dec 2022 13:51:56 +0000 (21:51 +0800)]
Merge pull request #49418 from tchaikov/wip-cls-fifo-fmt

cls/fifo: specialize fmt::formater<> for rados::cls::fifo::info

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoosd, mon: Add 'osd pg-upmap-primary' and 'osd rm-pg-upmap-primary' commands. 49178/head
Josh Salomon [Wed, 2 Nov 2022 14:23:28 +0000 (16:23 +0200)]
osd, mon: Add 'osd pg-upmap-primary' and 'osd rm-pg-upmap-primary' commands.

Changed OSDMap to keep upmap-primary records
The upmap-primary records are visible in json/xml and in dump commands.

Signed-off-by: Josh Salomon <jsalomon@redhat.com>
2 years agocrimson/osd: include fmt/ranges.h 49427/head
Kefu Chai [Wed, 14 Dec 2022 11:10:54 +0000 (19:10 +0800)]
crimson/osd: include fmt/ranges.h

so we are able to format ss.clone_snaps, which is a
std::map<snapid_t, std::vector<snapid_t>>. before fmtlib v9,
fmtlib is able to fall back to the operator<<() to format the the types
with the operator<<() defined. but after fmtlib v9, we need to
explicitly define them for accessing the specialized formatter.

in this change, fmt/ranges.h is included so we can access the formatter
for std::map and std::vector.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocrimson/os: specialize fmt::formater<> for lba_pin_list_t
Kefu Chai [Wed, 14 Dec 2022 11:09:49 +0000 (19:09 +0800)]
crimson/os: specialize fmt::formater<> for lba_pin_list_t

since fmt v9, fmt::formatter<> is not specialized for the types with
operator<<(ostream&, ...) anymore. so we need to specialize it manually.
in this change, fmt::formatter<lba_pin_list_t> is defined so
the tree can compile with fmt v9.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocrimson/osd: print oid of missing clone
Kefu Chai [Wed, 14 Dec 2022 10:00:42 +0000 (18:00 +0800)]
crimson/osd: print oid of missing clone

instead of printing the empty optional<>, print the oid of missing
clone. the oid is more interesting in this context.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #49419 from tchaikov/wip-seastar
Kefu Chai [Wed, 14 Dec 2022 10:23:14 +0000 (18:23 +0800)]
Merge pull request #49419 from tchaikov/wip-seastar

seastar: bump up seastar submodule to recent master

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os: specialize fmt::formater<> for types 49419/head
Kefu Chai [Wed, 14 Dec 2022 07:17:33 +0000 (15:17 +0800)]
crimson/os: specialize fmt::formater<> for types

since fmt v9, fmt::formatter<> is not specialized for the types with
operator<<(ostream&, ...) anymore. so we need to specialize it manually.
in this change, fmt::formatter<> is specialized for tree_stats_t and
test_item_t so the tree can compile with fmt v9.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocrimson/os: print pointer using fmt::ptr()
Kefu Chai [Wed, 14 Dec 2022 04:45:20 +0000 (12:45 +0800)]
crimson/os: print pointer using fmt::ptr()

in fmtlib v9, it does not format typed pointers anymore, instead,
we need to print them using fmt::ptr().

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoseastar: bump up seastar submodule to recent master
Kefu Chai [Wed, 14 Dec 2022 00:32:44 +0000 (08:32 +0800)]
seastar: bump up seastar submodule to recent master

to address the fmtlib v9 compatibility issues.

please note, the submodule is bump up to a commit which includes

* a revert commit on top of upstream master HEAD. the revert is to
  work around the a recent change which adds a constraint on the parameter
  type of handle_exception(). we are using errorator along with
  handle_exception(), but errorator cannot fulfill the requirement of
  seastar::Future(), so we need to drop the change before we have a
  better solution.
* a commit which defines __NR_pidfd_open if it is not defined.
  this should address the FTBFS on CentOS8 where glibc does not have
  this macro defined.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #49421 from zdover23/wip-doc-2022-12-14-glossary-fqdn
colemitchell [Wed, 14 Dec 2022 07:08:00 +0000 (02:08 -0500)]
Merge pull request #49421 from zdover23/wip-doc-2022-12-14-glossary-fqdn

doc/glossary: add "FQDN" entry

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/glossary: add "FQDN" entry 49421/head
Zac Dover [Wed, 14 Dec 2022 05:59:51 +0000 (15:59 +1000)]
doc/glossary: add "FQDN" entry

Add "FQDN" definition to doc/glossary.rst.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agotest/cls_fio: specialize fmt::formater<> for bpo::options_description 49418/head
Kefu Chai [Wed, 14 Dec 2022 00:27:13 +0000 (08:27 +0800)]
test/cls_fio: specialize fmt::formater<> for bpo::options_description

since fmt v9, fmt::formatter<> is not specialized for the types with
operator<<(ostream&, ...) anymore. so we need to specialize it manually.
in this change, fmt::formatter<bpo::options_description> is defined so
the tree can compile with fmt v9.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocls/fifo: specialize fmt::formater<> for rados::cls::fifo::info
Kefu Chai [Wed, 14 Dec 2022 00:20:42 +0000 (08:20 +0800)]
cls/fifo: specialize fmt::formater<> for rados::cls::fifo::info

since fmt v9, fmt::formatter<> is not specialized for the types with
operator<<(ostream&, ...) anymore. so we need to specialize it manually.
in this change, fmt::formatter<rados::cls::fifo::info> is defined so
the tree can compile with fmt v9.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #49242 from myoungwon/wip-enable-rbm-test-seastore
Yingxin [Wed, 14 Dec 2022 02:05:57 +0000 (10:05 +0800)]
Merge pull request #49242 from myoungwon/wip-enable-rbm-test-seastore

test/crimson/seastore: enable RBM-based unittest-seastore

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agoMerge pull request #49407 from tchaikov/cmake-find-boost
Kefu Chai [Wed, 14 Dec 2022 00:42:16 +0000 (08:42 +0800)]
Merge pull request #49407 from tchaikov/cmake-find-boost

cmake: add 1.79 and 1.80 to known versions

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agorgw: added rgw-policy-check 49395/head
Marcus Watts [Wed, 30 Nov 2022 23:22:30 +0000 (18:22 -0500)]
rgw: added rgw-policy-check

rgw-policy-check - a program to do syntax checking on bucket policy.
This program just reads the policy into memory, so it is not
checking anything except syntax.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
rgw: Fix return value of `rgw-policy-check`

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
rgw: Use ceph initialization in `rgw-policy-check`

Specifically so we can pull in the options from `ceph.conf` and similar.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2 years agorgw: Put useful policy error messages in error document
Adam C. Emerson [Tue, 13 Dec 2022 21:15:24 +0000 (16:15 -0500)]
rgw: Put useful policy error messages in error document

This affects the various create/put operations that take a policy document.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2 years agorgw: Add `rgw_policy_reject_invalid_principals` and messages
Adam C. Emerson [Tue, 13 Dec 2022 01:40:33 +0000 (20:40 -0500)]
rgw: Add `rgw_policy_reject_invalid_principals` and messages

Reject policies with invalid principals by default and provide more
useful error messages while doing so.

(Log them but do *not* reject the policy if it's set to false.)

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2 years agorgw: Provide useful error messages from policy parser
Adam C. Emerson [Tue, 13 Dec 2022 00:10:07 +0000 (19:10 -0500)]
rgw: Provide useful error messages from policy parser

It would be much nicer to give people an idea why their policies are
failing rather than just telling them where they're failing.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2 years agoMerge pull request #48214 from ljflores/wip-telemetry-bluestore-compression-mode
yaarith [Tue, 13 Dec 2022 19:34:45 +0000 (14:34 -0500)]
Merge pull request #48214 from ljflores/wip-telemetry-bluestore-compression-mode

mgr/telemetry: add `basic_pool_options_bluestore` collection

Reviewed-by: Yaarit Hatuka <yaarit@redhat.com>
2 years agorgw/lua: pass luarocks_path directly, remove from sal 48710/head
Casey Bodley [Mon, 14 Nov 2022 21:22:00 +0000 (16:22 -0500)]
rgw/lua: pass luarocks_path directly, remove from sal

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agorgw/lua: split out a struct RGWLuaProcessEnv
Casey Bodley [Tue, 15 Nov 2022 13:51:44 +0000 (08:51 -0500)]
rgw/lua: split out a struct RGWLuaProcessEnv

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #49190 from tchaikov/wip-fmt
Kefu Chai [Tue, 13 Dec 2022 16:40:48 +0000 (00:40 +0800)]
Merge pull request #49190 from tchaikov/wip-fmt

fmt: pickup v9.1.0

Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #49410 from ronen-fr/wip-rf-cinode-tm
Ronen Friedman [Tue, 13 Dec 2022 14:02:24 +0000 (16:02 +0200)]
Merge pull request #49410 from ronen-fr/wip-rf-cinode-tm

mds: remove unused declaration

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
2 years agomds: remove unused declaraion 49410/head
Ronen Friedman [Tue, 13 Dec 2022 12:24:08 +0000 (14:24 +0200)]
mds: remove unused declaraion

as some Jenkins builds are set to treat warnings as errors, and
complain.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 years agocrimson/os: define device_spec_t as packed 49408/head
Kefu Chai [Tue, 13 Dec 2022 10:23:43 +0000 (18:23 +0800)]
crimson/os: define device_spec_t as packed

per C++ standard 20, alignas cannot be applied to scoped enum. despite
that there is a resolution to address this, see
https://cplusplus.github.io/CWG/issues/2354.html, it's not included in
C++20. so we have to use a different way to address

> runtime error: reference binding to misaligned address 0x610000008395
> for type 'device_type_t', which requires 4 byte alignment

otherwise the code would fail to compile with Clang-15, like:

> <source>:3:13: error: 'alignas' attribute cannot be applied to an enumeration

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocmake: adapt FindBoost.cmake to our needs 49407/head
Kefu Chai [Tue, 13 Dec 2022 10:08:08 +0000 (18:08 +0800)]
cmake: adapt FindBoost.cmake to our needs

the vanilla FindBoost.cmake pulled from cmake has couple assumptions
which do not hold in our environment. so address them case by case.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocmake: add 1.79 and 1.80 to known versions
Kefu Chai [Tue, 13 Dec 2022 10:05:57 +0000 (18:05 +0800)]
cmake: add 1.79 and 1.80 to known versions

sync with
https://github.com/Kitware/CMake/blob/468a995346271c02f2248adf3539fbb34edaef2e/Modules/FindBoost.cmake

for v1.79 and v1.80 support

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #49250 from Matan-B/wip-matanb-debug-subsys-doc
Matan [Tue, 13 Dec 2022 08:54:48 +0000 (10:54 +0200)]
Merge pull request #49250 from Matan-B/wip-matanb-debug-subsys-doc

doc/rados/troubleshooting/log-and-debug: Update according to subsys.h

Reviewed-by: Laura Flores <lflores@redhat.com>
2 years agoMerge pull request #48449 from batrick/i57851
Venky Shankar [Tue, 13 Dec 2022 08:48:34 +0000 (14:18 +0530)]
Merge pull request #48449 from batrick/i57851

pybind/mgr: use memory temp_store

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Milind Changire <mchangir@redhat.com>
2 years agoMerge pull request #49329 from rhcs-dashboard/fix-cors
Avan [Tue, 13 Dec 2022 07:11:59 +0000 (12:41 +0530)]
Merge pull request #49329 from rhcs-dashboard/fix-cors

mgr/dashboard: allow Origin url for CORS if present in config

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2 years agoMerge pull request #49396 from zdover23/wip-doc-2022-12-13-glossary-secrets
colemitchell [Tue, 13 Dec 2022 04:47:41 +0000 (23:47 -0500)]
Merge pull request #49396 from zdover23/wip-doc-2022-12-13-glossary-secrets

doc/glossary - add "secrets"

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/glossary - add "secrets" 49396/head
Zac Dover [Tue, 13 Dec 2022 04:39:35 +0000 (14:39 +1000)]
doc/glossary - add "secrets"

Add "secrets" to doc/glossary.rst.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agotest/crimson/seastore: enable RBM-based unittest-seastore 49242/head
myoungwon oh [Mon, 5 Dec 2022 02:33:10 +0000 (11:33 +0900)]
test/crimson/seastore: enable RBM-based unittest-seastore

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
2 years agorgw: Minor cleanups in `rgw_iam_policy.cc`
Adam C. Emerson [Mon, 12 Dec 2022 21:47:18 +0000 (16:47 -0500)]
rgw: Minor cleanups in `rgw_iam_policy.cc`

Unused using, confusing indentation, bracing.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2 years agoMerge pull request #49391 from ceph/wip-yuri-crontab-main
Yuri Weinstein [Mon, 12 Dec 2022 21:35:26 +0000 (13:35 -0800)]
Merge pull request #49391 from ceph/wip-yuri-crontab-main

qa/tests: added quincy-p2p tp the mix

Reviewed-by: Laura Flores <lflores@redhat.com>
2 years agoqa/tests: added quincy-p2p tp the mix 49391/head
Yuri Weinstein [Mon, 12 Dec 2022 19:31:52 +0000 (11:31 -0800)]
qa/tests: added quincy-p2p tp the mix

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
2 years agoMerge pull request #49251 from shreyanshjain7174/cppool_space
Yuri Weinstein [Mon, 12 Dec 2022 19:01:15 +0000 (11:01 -0800)]
Merge pull request #49251 from shreyanshjain7174/cppool_space

rados: fix extra tabs on warning for pool copy

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 years agoMerge pull request #47596 from YiteGu/dump-slow-ops-count
Yuri Weinstein [Mon, 12 Dec 2022 19:00:19 +0000 (11:00 -0800)]
Merge pull request #47596 from YiteGu/dump-slow-ops-count

osd: add dump slow ops count

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 years agoMerge pull request #48711 from cfsnyder/wip-cfsnyder-del-perf-iops
Casey Bodley [Mon, 12 Dec 2022 17:20:52 +0000 (12:20 -0500)]
Merge pull request #48711 from cfsnyder/wip-cfsnyder-del-perf-iops

rgw: add 'inline_data' zone placement info option

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #49278 from Matan-B/wip-matanb-EIO-flag-fix
Laura Flores [Mon, 12 Dec 2022 17:11:44 +0000 (11:11 -0600)]
Merge pull request #49278 from Matan-B/wip-matanb-EIO-flag-fix

test/librados/aio_cxx: Fix Pool EIO flag tests

2 years agoMerge pull request #49180 from anthonyeleven/anthonyeleven/rework-pool-create-pg...
Laura Flores [Mon, 12 Dec 2022 17:11:02 +0000 (11:11 -0600)]
Merge pull request #49180 from anthonyeleven/anthonyeleven/rework-pool-create-pg-error-message

src/mon: clarify message for pool creation failure due to max_pgs_per_osd

2 years agoMerge PR #45192 into main
Venky Shankar [Mon, 12 Dec 2022 14:13:54 +0000 (19:43 +0530)]
Merge PR #45192 into main

* refs/pull/45192/head:
mds: use the whole string as the snapshot long name

Reviewed-by: Jos Collin <jcollin@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Nikhilkumar Shelke <nshelke@redhat.com>
2 years agoMerge PR #45312 into main
Venky Shankar [Mon, 12 Dec 2022 14:12:55 +0000 (19:42 +0530)]
Merge PR #45312 into main

* refs/pull/45312/head:
qa: new snapshot test for snapshot naming limits
mds: limit the snapshot names to 240 characters

Reviewed-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com>
2 years agoMerge PR #48450 into main
Venky Shankar [Mon, 12 Dec 2022 14:12:22 +0000 (19:42 +0530)]
Merge PR #48450 into main

* refs/pull/48450/head:
qa: add test_mdsdir_scrub_backtrace
mds: avoid ~mdsdir's scrubbing and reporting damage health status

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Milind Changire <mchangir@redhat.com>
Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
2 years agoMerge PR #48642 into main
Venky Shankar [Mon, 12 Dec 2022 14:11:47 +0000 (19:41 +0530)]
Merge PR #48642 into main

* refs/pull/48642/head:
qa: Fix test_subvolume_snapshot_info_if_orphan_clone

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
2 years agoMerge PR #48786 into main
Venky Shankar [Mon, 12 Dec 2022 14:08:10 +0000 (19:38 +0530)]
Merge PR #48786 into main

* refs/pull/48786/head:
mds/PurgeQueue: don't consider filer_max_purge_ops when _calculate_ops

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 years agoMerge PR #48873 into main
Venky Shankar [Mon, 12 Dec 2022 14:07:31 +0000 (19:37 +0530)]
Merge PR #48873 into main

* refs/pull/48873/head:
mount: fix mount failure with old kernels

Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 years agoMerge PR #49117 into main
Venky Shankar [Mon, 12 Dec 2022 14:06:11 +0000 (19:36 +0530)]
Merge PR #49117 into main

* refs/pull/49117/head:
mds: remove redundant frag check in MDBalancer::maybe_fragment()

Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2 years agoMerge pull request #48258 from adk3798/upgrade-mgr-loop
Adam King [Mon, 12 Dec 2022 13:44:34 +0000 (08:44 -0500)]
Merge pull request #48258 from adk3798/upgrade-mgr-loop

mgr/cephadm: fix handling of mgr upgrades with 3 or more mgrs

Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2 years agoMerge pull request #48550 from rkachach/fix_issue_57894
Adam King [Mon, 12 Dec 2022 13:43:25 +0000 (08:43 -0500)]
Merge pull request #48550 from rkachach/fix_issue_57894

mgr/cephadm: moving Prometheus spec check to service_spec module

Reviewed-by: Adam King <adking@redhat.com>
2 years agoqa: Allow tests to override recovery configs with mClock scheduler enabled 48226/head
Sridhar Seshasayee [Mon, 12 Dec 2022 07:09:33 +0000 (12:39 +0530)]
qa: Allow tests to override recovery configs with mClock scheduler enabled

Set osd_mclock_override_recovery_settings option to true for tests that
modify recovery/backfill configuration options. This prevents logging of
the cluster warning when modifying recovery/backfill limits.

Fixes: https://tracker.ceph.com/issues/57529
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agoMerge pull request #49277 from petrutlucian94/fix_log_win32
Lucian Petrut [Mon, 12 Dec 2022 10:44:48 +0000 (12:44 +0200)]
Merge pull request #49277 from petrutlucian94/fix_log_win32

log: fix stderr handling on Windows

2 years agorgw: add 'inline_data' zone placement info option 48711/head
Cory Snyder [Wed, 2 Nov 2022 20:06:23 +0000 (20:06 +0000)]
rgw: add 'inline_data' zone placement info option

Adds a new RGW zone placement info option to control whether
an object's first data chunk is placed in the head object.
This allows admins to make a tradeoff between optimizing for
PUT/GET performance vs. DELETE performance for some cluster
configurations.

Fixes: https://tracker.ceph.com/issues/57965
Signed-off-by: Cory Snyder <csnyder@iland.com>
2 years agoMerge pull request #49325 from liu-chunmei/crimson-reactor_utilization
Yingxin [Mon, 12 Dec 2022 07:43:12 +0000 (15:43 +0800)]
Merge pull request #49325 from liu-chunmei/crimson-reactor_utilization

crimson/osd: dump each shard seastar metrics

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agoqa/standalone: Add/Modify tests to verify mclock recovery/backfill limits
Sridhar Seshasayee [Fri, 7 Oct 2022 11:44:47 +0000 (17:14 +0530)]
qa/standalone: Add/Modify tests to verify mclock recovery/backfill limits

- Consolidate all mclock standalone tests under
  qa/standalone/misc/mclock-config.sh.
- Revert existing tests in ceph-helpers.sh that verified the earlier hard
  override of recovery/backfill limits.
- Add new tests to verify the procedure to change the recovery/backfill
  limits with mclock scheduler.

Fixes: https://tracker.ceph.com/issues/57529
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agodoc: Update mClock config reference doc to reflect new max recovery limits
Sridhar Seshasayee [Mon, 10 Oct 2022 13:18:13 +0000 (18:48 +0530)]
doc: Update mClock config reference doc to reflect new max recovery limits

Document the following:

- New max backfill/recovery defaults for mClock.
- Steps to modify the backfill/recovery defaults.
  - Modify defaults using new osd_mclock_override_recovery_settings option
- Steps to mitigate unrealistic OSD bench results to set OSD capacity.
  - New capacity threshold options for ssd/hdd

Fixes: https://tracker.ceph.com/issues/57529
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agocommon: Optimize the HDD mClock cost parameters.
Sridhar Seshasayee [Mon, 10 Oct 2022 05:47:54 +0000 (11:17 +0530)]
common: Optimize the HDD mClock cost parameters.

With the earlier cost per io and cost per byte parameters, the
client ops performance was good but the recovery ops were taking
much longer to complete. The new cost parameters optimizes this
further so that the recovery ops progress faster while
maintaining similar client throughput.

This optimization is tested on both a small cluster and a larger
cluster in a scaled environment.

Fixes: https://tracker.ceph.com/issues/57529
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2 years agoMerge pull request #49383 from zdover23/wip-doc-2022-12-12-rados-user-management...
colemitchell [Mon, 12 Dec 2022 04:32:46 +0000 (23:32 -0500)]
Merge pull request #49383 from zdover23/wip-doc-2022-12-12-rados-user-management-prompts

doc/rados: add prompts to user-management.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/rados: add prompts to user-management.rst 49383/head
Zac Dover [Mon, 12 Dec 2022 04:22:40 +0000 (14:22 +1000)]
doc/rados: add prompts to user-management.rst

Add unselectable prompts to doc/rados/operations/user-management.rst.

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agoMerge pull request #48545 from ronen-fr/wip-rf-slow-replica
Ronen Friedman [Sun, 11 Dec 2022 17:05:34 +0000 (19:05 +0200)]
Merge pull request #48545 from ronen-fr/wip-rf-slow-replica

osd/scrub: report replicas slow to respond to scrub requests

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
2 years agoosd/scrub: modifying some tests to ignore late replicas 48545/head
Ronen Friedman [Thu, 8 Dec 2022 17:58:19 +0000 (19:58 +0200)]
osd/scrub: modifying some tests to ignore late replicas

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 years agoosd/scrub: earlier response to interval changes
Ronen Friedman [Mon, 24 Oct 2022 13:35:52 +0000 (16:35 +0300)]
osd/scrub: earlier response to interval changes

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 years agoosd/scrub: minor logging changes
Ronen Friedman [Mon, 24 Oct 2022 13:33:23 +0000 (16:33 +0300)]
osd/scrub: minor logging changes

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 years agoosd/scrub: report replicas slow to repond to scrub requests
Ronen Friedman [Mon, 24 Jan 2022 13:19:01 +0000 (13:19 +0000)]
osd/scrub: report replicas slow to repond to scrub requests

Implemented timeouts:

1: Slow-Secondary Warning:

Once at least half of the replicas have accepted the reservation, we
start reporting any secondary that takes too long (more than <conf>
milliseconds after the previous response received) to respond to the reservation
request.
(Why? because we have encountered real-life situations where a specific
OSD was systematically very slow to respond (e.g. 5 seconds in one case) to
the reservation requests, slowing the scrub process to a crawl).

2: Reservation Process Timeout:

We now limit the total time the primary waits for the replicas to
respond to the reservation request. If we do not get all the responses
(either Grant or Reject) within <conf> milliseconds, we give up and release all the
reservations we have acquired so far.
(Why? because we have encountered instances where a reservation request
was lost - either due to a bug or due to a network issue.)

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2 years agoMerge pull request #49376 from zdover23/wip-doc-2022-12-11-install-clone-source-fix...
colemitchell [Sat, 10 Dec 2022 21:31:53 +0000 (16:31 -0500)]
Merge pull request #49376 from zdover23/wip-doc-2022-12-11-install-clone-source-fix-git-command

doc/install: update clone-source.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/install: update clone-source.rst 49376/head
Zac Dover [Sat, 10 Dec 2022 20:25:13 +0000 (06:25 +1000)]
doc/install: update clone-source.rst

Beef up clone-source.rst. Repair semantics. Add internal references. Fix
a broken "git submodule foreach git clean -fdx" command.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agoMerge pull request #49375 from adk3798/partial-revert-49359
Kefu Chai [Sat, 10 Dec 2022 15:57:01 +0000 (23:57 +0800)]
Merge pull request #49375 from adk3798/partial-revert-49359

pybind/mgr: partial reversion of #49359

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #49368 from zdover23/wip-doc-2022-12-10-rados-upmap-prompts
colemitchell [Sat, 10 Dec 2022 04:42:48 +0000 (23:42 -0500)]
Merge pull request #49368 from zdover23/wip-doc-2022-12-10-rados-upmap-prompts

doc/rados: add prompts to upmap.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agoMerge pull request #49367 from zdover23/wip-doc-2022-12-10-rados-stretch-mode-prompts
colemitchell [Sat, 10 Dec 2022 04:42:12 +0000 (23:42 -0500)]
Merge pull request #49367 from zdover23/wip-doc-2022-12-10-rados-stretch-mode-prompts

doc/rados: add prompts to stretch-mode.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/rados: add prompts to upmap.rst 49368/head
Zac Dover [Sat, 10 Dec 2022 04:34:46 +0000 (14:34 +1000)]
doc/rados: add prompts to upmap.rst

Add unselectable prompts to doc/rados/operations/upmap.rst.

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agodoc/rados: add prompts to stretch-mode.rst 49367/head
Zac Dover [Sat, 10 Dec 2022 04:15:45 +0000 (14:15 +1000)]
doc/rados: add prompts to stretch-mode.rst

Add unselectable prompts to doc/rados/operations/stretch-mode.rst.

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agorgw: drop rgw_obj_key::to_str() 49190/head
Kefu Chai [Sat, 10 Dec 2022 02:31:21 +0000 (10:31 +0800)]
rgw: drop rgw_obj_key::to_str()

rgw_obj_key::to_str() is mainly used by operator<<(ostream&, ..), so
we can just implement it with the specialization of
fmt::formatter<rgw_obj_key>. and let operator<<(ostream&, ..) to
call into fmt::format(..):

1. for better readability and
2. for probably better performance -- we don't need to do deep copy
   for constructing a `std::string` from a `char[]`.
3. for better standard compliance -- we don't need to use variable-length
   array in C++ code. it is a part of C99 standard. but not a C++ standard.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocmake: link rgw_common against fmt::fmt
Kefu Chai [Sat, 10 Dec 2022 03:38:49 +0000 (11:38 +0800)]
cmake: link rgw_common against fmt::fmt

as it includes rgw_data_sync.h which in turn uses fmtlib.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #49364 from zdover23/wip-doc-2022-12-10-rbd-rados-rbd-retrieving...
colemitchell [Sat, 10 Dec 2022 03:31:57 +0000 (22:31 -0500)]
Merge pull request #49364 from zdover23/wip-doc-2022-12-10-rbd-rados-rbd-retrieving-image-information-typo

doc/rbd: remove typo and ill-formed command

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/rbd: remove typo and ill-formed command 49364/head
Zac Dover [Sat, 10 Dec 2022 03:20:17 +0000 (13:20 +1000)]
doc/rbd: remove typo and ill-formed command

Ingest Ilya Dryomov's comments here https://github.com/ceph/ceph/pull/49340/files#r1044365857

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agorgw: define FMT_HEADER_ONLY using CMakeLists.txt
Kefu Chai [Thu, 8 Dec 2022 04:38:07 +0000 (12:38 +0800)]
rgw: define FMT_HEADER_ONLY using CMakeLists.txt

less repeatings this way. and the macro definition can be populated
to the targets linking against `rgw_common`. this is more maintainable,
as rgw executables and libraries always link against `rgw_common`.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agofmt: pickup v9.1.0
Kefu Chai [Fri, 2 Dec 2022 06:10:02 +0000 (14:10 +0800)]
fmt: pickup v9.1.0

fmt 9.0.0 dropped automatic `std::ostream` insertion operator discovery
when `fmt/ostream.h` to prevent ODR violations. instead of defining
`FMT_DEPRECATED_OSTREAM`, we took efforts to specialize
`fmt::formatter<..>` to be compatible with the new fmtlib. to avoid
breaking the build with fmt v9 and up, let's bump up the fmt submodule.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agorgw: pass fmt::format_string to pretty_print()
Kefu Chai [Fri, 2 Dec 2022 09:25:24 +0000 (17:25 +0800)]
rgw: pass fmt::format_string to pretty_print()

otherwise we'd have following compiling failure:

In file included from /var/ssd/ceph/src/rgw/store/rados/rgw_data_sync.cc:13:
/var/ssd/ceph/src/rgw/store/rados/rgw_data_sync.h:345:28: error: call to consteval function 'fmt::basic_format_string<char, std::basic_string<char> &, rgw_obj_key &, unsigned long &, std::basic_string<char> &>::basic_format_string<char[59], 0>' is not a constant expressio
n
    fmt::print(*env->ostr, std::forward<T>(t)...);
                           ^
/var/ssd/ceph/src/rgw/store/rados/rgw_data_sync.cc:4136:8: note: in instantiation of function template specialization 'pretty_print<const char (&)[59], std::basic_string<char> &, rgw_obj_key &, unsigned long &, std::basic_string<char> &>' requested here
              pretty_print(sc->env, "Syncing object s3://{}/{} version {} in sync from zone {}\n",
              ^
/var/ssd/ceph/src/rgw/store/rados/rgw_data_sync.cc:4070:3: note: in instantiation of member function 'RGWBucketSyncSingleEntryCR<rgw_obj_key, rgw_obj_key>::operate' requested here
  RGWBucketSyncSingleEntryCR(RGWDataSyncCtx *_sc,
  ^
/var/ssd/ceph/src/rgw/store/rados/rgw_data_sync.cc:4352:27: note: in instantiation of member function 'RGWBucketSyncSingleEntryCR<rgw_obj_key, rgw_obj_key>::RGWBucketSyncSingleEntryCR' requested here
          yield spawn(new SyncCR(sc, sync_pipe, entry->key,
                          ^
/var/ssd/ceph/src/rgw/store/rados/rgw_data_sync.h:345:44: note: function parameter 't' with unknown value cannot be used in a constant expression
    fmt::print(*env->ostr, std::forward<T>(t)...);
                                           ^
/var/ssd/ceph/src/rgw/store/rados/rgw_data_sync.h:343:53: note: declared here
void pretty_print(const RGWDataSyncEnv* env, T&& ...t) {
                                                    ^

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agorgw: specialize fmt::formatter<> for rgw_obj_key
Kefu Chai [Fri, 2 Dec 2022 09:23:23 +0000 (17:23 +0800)]
rgw: specialize fmt::formatter<> for rgw_obj_key

since fmt v9, fmt::formatter<> is not specialized for the types with
operator<<(ostream&, ...) anymore. so we need to specialize it manually.
in this change, fmt::formatter<rgw_obj_key> is defined so the tree can
compile with fmt v9.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agorgw/rgw_common: define FMT_HEADER_ONLY
Kefu Chai [Fri, 2 Dec 2022 11:05:25 +0000 (19:05 +0800)]
rgw/rgw_common: define FMT_HEADER_ONLY

to be consistent with other parts of rgw

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agorgw: move lua stuff out of req_state
Casey Bodley [Wed, 2 Nov 2022 18:19:10 +0000 (14:19 -0400)]
rgw: move lua stuff out of req_state

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agorgw: move RGWProcessEnv into new rgw_process_env.h
Casey Bodley [Wed, 2 Nov 2022 18:56:32 +0000 (14:56 -0400)]
rgw: move RGWProcessEnv into new rgw_process_env.h

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agorgw: req_state takes const ref to RGWProcessEnv
Casey Bodley [Wed, 2 Nov 2022 18:15:51 +0000 (14:15 -0400)]
rgw: req_state takes const ref to RGWProcessEnv

make the RGWProcessEnv accessible to any call paths that have a
req_state

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agorgw: process_request() takes RGWProcessEnv
Casey Bodley [Wed, 2 Nov 2022 17:56:51 +0000 (13:56 -0400)]
rgw: process_request() takes RGWProcessEnv

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agorgw: move lua_manager into RGWProcessEnv
Casey Bodley [Wed, 2 Nov 2022 17:29:50 +0000 (13:29 -0400)]
rgw: move lua_manager into RGWProcessEnv

each frontend no longer has to own/reload the lua manager themselves

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agorgw: auth_registry uses unique_ptr instead of shared_ptr
Casey Bodley [Wed, 2 Nov 2022 17:14:42 +0000 (13:14 -0400)]
rgw: auth_registry uses unique_ptr instead of shared_ptr

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agorgw: RGWRealmReloader reloads auth_registry
Casey Bodley [Wed, 2 Nov 2022 17:10:58 +0000 (13:10 -0400)]
rgw: RGWRealmReloader reloads auth_registry

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agorgw/auth: strategies take ImplicitTenants by const ref
Casey Bodley [Mon, 24 Oct 2022 19:03:07 +0000 (15:03 -0400)]
rgw/auth: strategies take ImplicitTenants by const ref

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agorgw: frontends share RGWProcessEnv by reference
Casey Bodley [Tue, 25 Oct 2022 16:52:38 +0000 (12:52 -0400)]
rgw: frontends share RGWProcessEnv by reference

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agorgw/main: add RGWProcessEnv in AppMain
Casey Bodley [Mon, 24 Oct 2022 18:09:10 +0000 (14:09 -0400)]
rgw/main: add RGWProcessEnv in AppMain

instead of constructing a separate RGWProcessEnv for each frontend,
initialize a single instance in AppMain and share a reference with each
frontend

RGWRealmReloader now takes a reference to RGWProcessEnv instead of a
reference to the Store pointer itself, and updates RGWProcessEnv::store
on realm reload

because RGWRealmReloader may mutate RGWProcessEnv::store, we no longer have
a separate AppMain::store pointer, so don't worry about keeping that
consistent over reloads

Signed-off-by: Casey Bodley <cbodley@redhat.com>