]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
22 months agocommon: avoid <1ms waits on Windows
Lucian Petrut [Thu, 4 May 2023 14:27:56 +0000 (14:27 +0000)]
common: avoid <1ms waits on Windows

std::condition_variable::wait_for uses SleepConditionVariableSRW
on Windows, which has millisecond precision.

In order to avoid busy loops, we won't wait for less than one
millisecond on Windows.

Note that this situation is quite common since on Windows,
"wait_for" often returns ~1ms before the specified timeout.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agocommon: use signedspan for monotonic ceph clocks
Lucian Petrut [Mon, 8 May 2023 12:47:42 +0000 (12:47 +0000)]
common: use signedspan for monotonic ceph clocks

The monotonic clocks are commonly used for measuring time deltas,
which can be negative.

ceph::mono_clock and ceph::coarse_mono_clock currently use
unsigned duration types [1]. The difference operators are overloaded
in order to ensure that the result is signed [2][3].

However, we still have issues when unsigned timespans are compared.
For example, std::condition::wait_for can hang indefinitely due
to underflows [4][5]. It ends up using our unsigned type for a
negative timespan, which is then compared to
std::chrono::duration<Rep,Period>::zero.

In order to avoid such problems, we'll simply use a signed type
for monotonic clock durations.

With signed timespans, we can no longer assume that time_point::zero()
is equal to time_point::min(), so we're updating it accodingly.

[1] https://github.com/ceph/ceph/blob/4040f12347a5f48520f8ff2f83065b9ee3a36f68/src/common/ceph_time.h#L285
[2] https://github.com/ceph/ceph/blob/4040f12347a5f48520f8ff2f83065b9ee3a36f68/src/common/ceph_time.h#L345-L380
[3] https://github.com/ceph/ceph/blob/4040f12347a5f48520f8ff2f83065b9ee3a36f68/src/common/ceph_time.h#L466-L487
[4] https://github.com/llvm/llvm-project/blob/91cff8a71872cf49f0c5c9e5510f8065bfefa3c3/libcxx/include/__condition_variable/condition_variable.h#L178
[5] https://github.com/llvm/llvm-project/blob/91cff8a71872cf49f0c5c9e5510f8065bfefa3c3/libcxx/include/__condition_variable/condition_variable.h#L193

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agotest: add timer loop tests
Lucian Petrut [Thu, 4 May 2023 13:16:56 +0000 (13:16 +0000)]
test: add timer loop tests

We've been experiencing timer hangs with mingw-llvm.
std::condition_variable::wait_for was returning a few microseconds
before the requested time and then hanging when called with a
small interval (e.g. microseconds).

This was affecting the OSD periodic tick, which would hang after
a while (20m up to 2h).

The issue can be reproduced with a timer loop and a small interval
(e.g. 40us), in which case the timer is likely to hang after about
10s.

We're adding some tests, while the actual mingw-llvm issue will
be mitigated in a separate commit.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agowin32_build.sh: mingw-llvm support
Lucian Petrut [Fri, 7 Apr 2023 10:39:59 +0000 (10:39 +0000)]
win32_build.sh: mingw-llvm support

winpthreads is a library that emulates the pthreads API using
Windows primitives. It's also used by the mingw/gcc libstdc++
for std::thread.

The issue is that winpthreads isn't well maintained. There
have been numerous bugs that haven't been addressed in years.
Specifically, we've been hitting deadlocks because of the
winpthreads rw lock implementation.

This change will allow building Ceph for Windows using mingw/llvm,
which uses libc++ and doesn't rely on winpthreads.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agotest/dokan: avoid runtime dependent assertion
Lucian Petrut [Mon, 24 Apr 2023 14:36:43 +0000 (14:36 +0000)]
test/dokan: avoid runtime dependent assertion

We're checking a permission denied exception message that's
runtime specific:

  /mnt/data/workspace/ceph_mingw_clang/src/test/dokan/dokan.cc:252: Failure
  Expected equality of these values:
    e.what()
      Which is: "filesystem error: in remove: Permission denied
      [\"Z:\\ro_success_b76223c4-c590-45e0-ab78-4d281ac512b5\"]"
    exception_msg.c_str()
      Which is: "filesystem error: cannot remove: No such device
      [Z:\\ro_success_b76223c4-c590-45e0-ab78-4d281ac512b5]"

In order to support libc++, we'll drop the exception message
assertion and rely on the exception type.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agotest: link timer test against libceph-common
Lucian Petrut [Wed, 19 Apr 2023 13:11:36 +0000 (13:11 +0000)]
test: link timer test against libceph-common

This test currently failes to build for Windows using llvm
due to unresolved symbols.

We'll address the issue by explicitly specifying the ceph-common
dependency.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agocommon: avoid using pthread native handle if not available
Lucian Petrut [Tue, 18 Apr 2023 14:50:41 +0000 (14:50 +0000)]
common: avoid using pthread native handle if not available

Especially when targeting Windows, llvm may not necessarily
use pthreads for std::thread. In this case, we must not use the
"native" thread handle with the pthreads API.

We'll update the ceph_pthread_getname and ceph_pthread_setname
wrappers, adding a new one: ceph_pthread_kill.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agocmake: avoid -Bsymbolic on Windows
Lucian Petrut [Fri, 21 Apr 2023 13:10:23 +0000 (13:10 +0000)]
cmake: avoid -Bsymbolic on Windows

The "-Bsymbolic" and "-Bsymbolic-functions" flags only apply to ELF
binaries.

llvm errors out when targeting Windows, which is why we'll need
to skip those flags for Windows builds.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agosrc/common/win32: add missing casts
Lucian Petrut [Fri, 7 Apr 2023 11:48:34 +0000 (11:48 +0000)]
src/common/win32: add missing casts

clang errors out because of a few type mismatches that gcc
ignored through "-fpermissive".

We'll need to cast a few void pointers to the appropriate type.
There's also a function that doesn't have an explicit return type,
which was omitted by mistake.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agocmake: avoid duplicate symbols
Lucian Petrut [Tue, 11 Apr 2023 08:39:10 +0000 (08:39 +0000)]
cmake: avoid duplicate symbols

Some symbols from the crc32, arch and fmt libs
are re-exported by libceph-common:

  FAILED: bin/unittest_time.exe
  ld.lld: error: fmt::v9::format_error::~format_error() was replaced

llvm throws errors because of the duplicate symbols.
One workaround is to use objects instead of static libs
for the libs. For libfmt we'll use the header-only version.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
23 months agocmake: honor WITH_FMT_HEADER_ONLY with vendored fmt lib
Lucian Petrut [Mon, 21 Aug 2023 06:27:24 +0000 (06:27 +0000)]
cmake: honor WITH_FMT_HEADER_ONLY with vendored fmt lib

We're using the vendored fmt lib when there is no system library
available. However, there is an inconsistency: the
WITH_FMT_HEADER_ONLY setting is ignored by the vendored library.

In order to address this, we'll use the fmt-header-only alias
if WITH_FMT_HEADER_ONLY is set.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
23 months agorbd-wnbd: fix llvm issues
Lucian Petrut [Tue, 11 Apr 2023 08:54:23 +0000 (08:54 +0000)]
rbd-wnbd: fix llvm issues

We're fixing a few rbd-wnbd issues that are currently ignored
by mingw-gcc but not by llvm:

* checking if an uint is smaller than 0
* qualified method names must be used when passing the address
* duplicate symbol "shutdown_lock"
* add missing const cast when passing WNBD interface

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
23 months agotest: avoid converting addresses to "long"
Lucian Petrut [Tue, 11 Apr 2023 09:40:12 +0000 (09:40 +0000)]
test: avoid converting addresses to "long"

On Windows x64 hosts, "long" (4B) is not large enough to hold
an address.

For this reason, we're updating "test_json_formattable.cc"
to use "long long" instead.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
23 months agocommon,test: avoid deprecated result_of_t
Lucian Petrut [Fri, 7 Apr 2023 11:11:24 +0000 (11:11 +0000)]
common,test: avoid deprecated result_of_t

std::result_of_t was deprecated in c++17 and removed in c++20.
gcc kept it around for backwards compatibility, however it was
removed in clang.

For this reason, we'll need to use std::invoke_result_ot instead,
which has a slightly different syntax.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
23 months agoMerge pull request #52701 from rhcs-dashboard/flake8-fix
Nizamudeen A [Tue, 1 Aug 2023 05:36:50 +0000 (11:06 +0530)]
Merge pull request #52701 from rhcs-dashboard/flake8-fix

mgr: fix flake8 compliants

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: phlogistonjohn <NOT@FOUND>
23 months agoMerge pull request #52341 from mkogan1/wip-T52363-xrmeng8756
Casey Bodley [Mon, 31 Jul 2023 22:15:05 +0000 (18:15 -0400)]
Merge pull request #52341 from mkogan1/wip-T52363-xrmeng8756

rgw: fix the Content-Length in response header of static website

Reviewed-by: Casey Bodley <cbodley@redhat.com>
23 months agoMerge pull request #52131 from cityofships/docs_radosgw
zdover23 [Mon, 31 Jul 2023 20:31:41 +0000 (06:31 +1000)]
Merge pull request #52131 from cityofships/docs_radosgw

doc/radosgw: correct emphasis in rate limit section

Reviewed-by: Zac Dover <zac.dover@proton.me>
23 months agodoc/radosgw: correct emphasis in rate limit section 52131/head
Piotr Parczewski [Mon, 31 Jul 2023 14:42:26 +0000 (16:42 +0200)]
doc/radosgw: correct emphasis in rate limit section

Signed-off-by: Piotr Parczewski <piotr@stackhpc.com>
23 months agoMerge pull request #52603 from cbodley/wip-62135
Casey Bodley [Mon, 31 Jul 2023 14:25:06 +0000 (10:25 -0400)]
Merge pull request #52603 from cbodley/wip-62135

qa/rgw: pacific upgrade disables centos9

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
23 months agoMerge pull request #51987 from rkachach/fix_issue_61628
Adam King [Mon, 31 Jul 2023 12:34:54 +0000 (08:34 -0400)]
Merge pull request #51987 from rkachach/fix_issue_61628

mgr/cephadm: storing prometheus/alertmanager credentials in monstore

Reviewed-by: Adam King <adking@redhat.com>
23 months agoMerge pull request #52622 from rhcs-dashboard/allow-put-cors
Nizamudeen A [Mon, 31 Jul 2023 09:24:49 +0000 (14:54 +0530)]
Merge pull request #52622 from rhcs-dashboard/allow-put-cors

mgr/dashboard: allow PUT in CORS

Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
23 months agomgr: fix some flake8 complaints 52701/head
Nizamudeen A [Mon, 31 Jul 2023 09:20:57 +0000 (14:50 +0530)]
mgr: fix some flake8 complaints

Signed-off-by: Nizamudeen A <nia@redhat.com>
23 months agoMerge pull request #52317 from rhcs-dashboard/rgw-overview-dashboard
Aashish Sharma [Mon, 31 Jul 2023 05:36:44 +0000 (11:06 +0530)]
Merge pull request #52317 from rhcs-dashboard/rgw-overview-dashboard

mgr/dashboard: add inventory card  and single stat cards to rgw overview dashboard

Reviewed-by: Nizamudeen A <nia@redhat.com>
23 months agoMerge pull request #52435 from vedanshbhartia/coverity_invalid_typename
Yuval Lifshitz [Sun, 30 Jul 2023 12:58:16 +0000 (15:58 +0300)]
Merge pull request #52435 from vedanshbhartia/coverity_invalid_typename

rgw: typecast long long to int when passing length to format string

23 months agoMerge pull request #52688 from petrutlucian94/avoid_tzset
Ilya Dryomov [Fri, 28 Jul 2023 22:23:42 +0000 (00:23 +0200)]
Merge pull request #52688 from petrutlucian94/avoid_tzset

build: globally set FMT_USE_TZSET=0 for Windows

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
23 months agoMerge pull request #52668 from bluikko/patch-16
Anthony D'Atri [Fri, 28 Jul 2023 16:38:55 +0000 (12:38 -0400)]
Merge pull request #52668 from bluikko/patch-16

doc/radosgw: Add missing space to date option spec in admin.rst

23 months agoMerge pull request #52685 from bluikko/patch-17
Anthony D'Atri [Fri, 28 Jul 2023 15:15:19 +0000 (11:15 -0400)]
Merge pull request #52685 from bluikko/patch-17

doc/mgr/ceph_api: Promptify example commands in index.rst

23 months agobuild: globally set FMT_USE_TZSET=0 for Windows 52688/head
Lucian Petrut [Fri, 28 Jul 2023 11:27:56 +0000 (11:27 +0000)]
build: globally set FMT_USE_TZSET=0 for Windows

We're currently setting FMT_USE_TZSET=0 when building libfmt
in order to avoid the _tzset function, which is unavailable
under Mingw:
https://github.com/ceph/ceph/commit/aa5769ecf1d80fc9824280d2e90fd4c61a0e7769

The issue is that it still gets used by fmt/chrono.h, which is
why we'll move this definition to the top level cmake file.

Note that the Windows build is currently failing as a result of
a recent change: https://github.com/ceph/ceph/pull/52590/files

  In file included from ceph/src/common/ceph_time.h:22,
                   from ceph/src/include/encoding.h:31,
                   from ceph/src/include/uuid.h:9,
                   from ceph/src/include/types.h:21,
                   from ceph/src/crush/CrushWrapper.h:14,
                   from ceph/src/crush/CrushCompiler.h:7,
                   from ceph/src/crush/CrushCompiler.cc:4:
  ceph/src/fmt/include/fmt/chrono.h: In lambda function:
  ceph/src/fmt/include/fmt/chrono.h:953:5: error: ‘_tzset’ was
  not declared in this scope; did you mean ‘tzset’?
    953 |     _tzset();
        |     ^~~~~~
        |     tzset

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
23 months agoMerge pull request #52191 from rhcs-dashboard/fix-daemon-labels-exporter
Nizamudeen A [Fri, 28 Jul 2023 13:16:35 +0000 (18:46 +0530)]
Merge pull request #52191 from rhcs-dashboard/fix-daemon-labels-exporter

mgr/dashboard: empty grafana panels for performance of daemons

Reviewed-by: Pegonzal <NOT@FOUND>
Reviewed-by: cloudbehl <NOT@FOUND>
Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
23 months agomgr/dashboard: allow PUT in CORS 52622/head
Nizamudeen A [Tue, 25 Jul 2023 09:21:40 +0000 (14:51 +0530)]
mgr/dashboard: allow PUT in CORS

Fixes: https://tracker.ceph.com/issues/62222
Signed-off-by: Nizamudeen A <nia@redhat.com>
23 months agomgr/dashboard: empty grafana panels for performance of daemons 52191/head
avanthakkar [Mon, 26 Jun 2023 07:11:24 +0000 (12:41 +0530)]
mgr/dashboard: empty grafana panels for performance of daemons

Fixes: https://tracker.ceph.com/issues/61792
Signed-off-by: avanthakkar <avanjohn@gmail.com>
Removing the `ceph-` prefix from ceph_daemon label to adopt it with the label
format used by queries in grafana dashboards. Also changing the
`instance_id` label for rgw to match the values coming from
exporter and prometheus module

23 months agodoc/mgr/ceph_api: Promptify example commands in index.rst 52685/head
Ville Ojamo [Fri, 28 Jul 2023 04:49:19 +0000 (11:49 +0700)]
doc/mgr/ceph_api: Promptify example commands in index.rst

Use the more modern prompt block instead of
using code blocks for example commands.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
23 months agodoc/radosgw: Add missing space to date option spec in admin.rst 52668/head
Ville Ojamo [Thu, 27 Jul 2023 07:56:58 +0000 (14:56 +0700)]
doc/radosgw: Add missing space to date option spec in admin.rst

The start time and end time CLI option specification is missing a space between the date and the optional time value. Also expand the text to talk about "optional time" after the date.

Signed-off-by: Ville Ojamo <14869000+bluikko@users.noreply.github.com>
23 months agoMerge pull request #52549 from cbodley/wip-qa-distros-centos9-no-copr
Ilya Dryomov [Thu, 27 Jul 2023 19:40:07 +0000 (21:40 +0200)]
Merge pull request #52549 from cbodley/wip-qa-distros-centos9-no-copr

qa/distros: disable ceph/el9 copr workaround for missing python deps

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
23 months agoMerge pull request #52671 from zdover23/wip-doc-2023-07-27-readmemd-2-of-x
zdover23 [Thu, 27 Jul 2023 19:11:44 +0000 (05:11 +1000)]
Merge pull request #52671 from zdover23/wip-doc-2023-07-27-readmemd-2-of-x

doc: update README.md install procedure

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
23 months agoMerge pull request #52591 from ronen-fr/wip-rf-cephx-init
Ronen Friedman [Thu, 27 Jul 2023 16:13:06 +0000 (19:13 +0300)]
Merge pull request #52591 from ronen-fr/wip-rf-cephx-init

cephx: initializing two member variables in the ctors

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
23 months agoMerge pull request #52590 from ronen-fr/wip-rf-res-type2
Ronen Friedman [Thu, 27 Jul 2023 15:24:06 +0000 (18:24 +0300)]
Merge pull request #52590 from ronen-fr/wip-rf-res-type2

osd/scrub: fixing & improving ReservationTimeout handler messages

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
23 months agoMerge pull request #52084 from rhcs-dashboard/fix-exporter-addrs
Adam King [Thu, 27 Jul 2023 13:58:51 +0000 (09:58 -0400)]
Merge pull request #52084 from rhcs-dashboard/fix-exporter-addrs

exporter: ceph-exporter scrapes failing on multi-homed server

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
Reviewed-by: Redouane Kachach <rkachach@redhat.com>
23 months agodoc: update README.md install procedure 52671/head
Zac Dover [Thu, 27 Jul 2023 11:49:19 +0000 (21:49 +1000)]
doc: update README.md install procedure

Add instructions directing the reader to install the "python3-routes"
package. This package is required in order to launch the dashboard after
the installation procedure has completed, but is not yet included in the
install-deps.sh script.

Signed-off-by: Zac Dover <zac.dover@proton.me>
23 months agoMerge PR #52376 into main
Venky Shankar [Thu, 27 Jul 2023 11:08:36 +0000 (16:38 +0530)]
Merge PR #52376 into main

* refs/pull/52376/head:
mds: skip forwarding request if the session were removed

Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
23 months agoMerge PR #52176 into main
Venky Shankar [Thu, 27 Jul 2023 11:07:55 +0000 (16:37 +0530)]
Merge PR #52176 into main

* refs/pull/52176/head:
mds: remove calculating caps after adding revokes back

Reviewed-by: Venky Shankar <vshankar@redhat.com>
23 months agoMerge PR #51536 into main
Venky Shankar [Thu, 27 Jul 2023 08:08:54 +0000 (13:38 +0530)]
Merge PR #51536 into main

* refs/pull/51536/head:
mds: do not send split_realms for CEPH_SNAP_OP_UPDATE msg

Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
23 months agoMerge PR #52275 into main
Venky Shankar [Thu, 27 Jul 2023 08:07:29 +0000 (13:37 +0530)]
Merge PR #52275 into main

* refs/pull/52275/head:
mds: update mdlog perf counters during replay

Reviewed-by: Venky Shankar <vshankar@redhat.com>
23 months agomgr/dashboard: Add inventory card and two single stat panels to rgw 52317/head
Aashish Sharma [Thu, 20 Jul 2023 07:01:59 +0000 (12:31 +0530)]
mgr/dashboard: Add inventory card and two single stat panels to rgw
overview dashboard

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
23 months agoMerge pull request #52624 from idryomov/wip-61565
Ilya Dryomov [Wed, 26 Jul 2023 16:23:29 +0000 (18:23 +0200)]
Merge pull request #52624 from idryomov/wip-61565

qa/workunits/rbd: use jammy version of qemu-iotests for centos 9

Reviewed-by: Ramana Raja <rraja@redhat.com>
23 months agoMerge pull request #52546 from rhcs-dashboard/node-16-main
Nizamudeen A [Wed, 26 Jul 2023 14:02:24 +0000 (19:32 +0530)]
Merge pull request #52546 from rhcs-dashboard/node-16-main

deps: increase the node version to 16

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
23 months agoMerge pull request #49810 from baergj/fix-create_time_event-header
Casey Bodley [Wed, 26 Jul 2023 12:24:55 +0000 (08:24 -0400)]
Merge pull request #49810 from baergj/fix-create_time_event-header

async: Fix units in the create_time_event() declaration.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
23 months agoMerge pull request #52644 from rhcs-dashboard/fix-62124-main
Aashish Sharma [Wed, 26 Jul 2023 11:46:10 +0000 (17:16 +0530)]
Merge pull request #52644 from rhcs-dashboard/fix-62124-main

mgr/dashboard: add validations to zone access/secret key in zone creation/edit form

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
23 months agorgw: fix the Content-Length in response header is inconsistent with response body... 52341/head
mengxiangrui [Sat, 21 Aug 2021 07:20:00 +0000 (15:20 +0800)]
rgw: fix the Content-Length in response header is inconsistent with response body size when rgw returns default html error page in static website

The default html error page as response body should be built completely include three ending html symbols(/ul, /body and /html) before rgw computes Content-Length in response header. The Content-Length in response header will be consistent with response body size. Client can get complete page.

Fixes: https://tracker.ceph.com/issues/52363
(cherry picked from commit cbeaef9fbe96c930fc10b793773e7ecd137fde81)

Co-authored-by: aicun hu <huaicun@chinatelecom.cn>
Co-authored-by: yupeng chen <chenyupeng@chinatelecom.cn>
Signed-off-by: xiangrui meng <mengxr@chinatelecom.cn>
23 months agoMerge pull request #52570 from rhcs-dashboard/fix-62110-main
Aashish Sharma [Wed, 26 Jul 2023 11:38:41 +0000 (17:08 +0530)]
Merge pull request #52570 from rhcs-dashboard/fix-62110-main

mgr/dashboard: fix removal of non-master zone from the zone group via dashboard

Reviewed-by: Nizamudeen A <nia@redhat.com>
23 months agoMerge PR #52600 into main
Venky Shankar [Wed, 26 Jul 2023 10:31:05 +0000 (16:01 +0530)]
Merge PR #52600 into main

* refs/pull/52600/head:
qa: fix cephfs-mirror unwinding and 'fs volume create/rm' order

Reviewed-by: Venky Shankar <vshankar@redhat.com>
23 months agomgr/dashboard: add validations to zone access/secret key in zone creation/edit form 52644/head
Aashish Sharma [Wed, 26 Jul 2023 06:00:32 +0000 (11:30 +0530)]
mgr/dashboard: add validations to zone access/secret key in zone creation/edit form

Fixes: https://tracker.ceph.com/issues/62124
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
23 months agoqa: fix cephfs-mirror unwinding and 'fs volume create/rm' order 52600/head
Jos Collin [Mon, 24 Jul 2023 08:46:52 +0000 (14:16 +0530)]
qa: fix cephfs-mirror unwinding and 'fs volume create/rm' order

* Fixes the 'fs volume create' happens before the cephfs-mirror daemon start.
* Fixes the 'fs volume rm' happen only after the cephfs-mirror daemon unwinding.
  - This prevents the issue of mirror-daemon not returning from a libcephfs call, as
    the volumes were deleted during the cephfs_mirror_thrash ing.

Fixes: https://tracker.ceph.com/issues/61182
Signed-off-by: Jos Collin <jcollin@redhat.com>
23 months agoMerge pull request #52630 from zdover23/wip-doc-2023-07-25-readmemd-1-of-x
zdover23 [Tue, 25 Jul 2023 23:07:40 +0000 (09:07 +1000)]
Merge pull request #52630 from zdover23/wip-doc-2023-07-25-readmemd-1-of-x

doc: update README.md

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
23 months agoMerge pull request #52596 from yuvalif/wip-yuval-fix-61868-new
Yuval Lifshitz [Tue, 25 Jul 2023 18:59:23 +0000 (21:59 +0300)]
Merge pull request #52596 from yuvalif/wip-yuval-fix-61868-new

rgw/lua: allow passing tenant without uid to manage lua scripts

2 years agoasync: Fix units in the create_time_event() declaration. 49810/head
Joshua Baergen [Fri, 20 Jan 2023 16:19:30 +0000 (09:19 -0700)]
async: Fix units in the create_time_event() declaration.

Commit 19a9d9531fab4627cafbb2915566c512c41077a8 changed the definition
to microseconds but neglected to update the header.

Signed-off-by: Joshua Baergen <jbaergen@digitalocean.com>
2 years agoMerge pull request #52592 from xxhdx1985126/wip-62098
Matan Breizman [Tue, 25 Jul 2023 14:53:22 +0000 (17:53 +0300)]
Merge pull request #52592 from xxhdx1985126/wip-62098

crimson/net: set TCP_NODELAY according to ms_tcp_nodelay

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Kefu Chai <kefu.chai@scylladb.com>
2 years agodoc: update README.md 52630/head
Zac Dover [Tue, 25 Jul 2023 13:09:11 +0000 (23:09 +1000)]
doc: update README.md

Correct and improve ceph/README.md.

Signed-off-by: Zac Dover <zac.dover@proton.me>
2 years agousing json file to get alertmanager/prometheus credentials 51987/head
Redouane Kachach [Fri, 14 Jul 2023 11:06:50 +0000 (13:06 +0200)]
using json file to get alertmanager/prometheus credentials

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2 years agomgr/cephadm: storing prometheus/alertmanager credentials in monstore
Redouane Kachach [Fri, 9 Jun 2023 13:22:14 +0000 (15:22 +0200)]
mgr/cephadm: storing prometheus/alertmanager credentials in monstore
Fixes: https://tracker.ceph.com/issues/61628
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2 years agoMerge pull request #50423 from rkachach/fix_issue_nmveof
Adam King [Tue, 25 Jul 2023 12:56:31 +0000 (08:56 -0400)]
Merge pull request #50423 from rkachach/fix_issue_nmveof

mgr/cephadm: adding support for nvmeof

Reviewed-by: Adam King <adking@redhat.com>
2 years agoMerge pull request #51933 from aclamk/wip-aclamk-bs-onode-doc
Adam Kupczyk [Tue, 25 Jul 2023 12:06:02 +0000 (14:06 +0200)]
Merge pull request #51933 from aclamk/wip-aclamk-bs-onode-doc

os/bluestore: Some in-code documentation for Onode / blob

2 years agoMerge pull request #52218 from YiteGu/cephfs-get-statfs
Nizamudeen A [Tue, 25 Jul 2023 12:00:11 +0000 (17:30 +0530)]
Merge pull request #52218 from YiteGu/cephfs-get-statfs

mgr/dashboard: CephFS statfs REST API

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2 years agoqa/workunits/rbd: use jammy version of qemu-iotests for centos 9 52624/head
Ilya Dryomov [Tue, 25 Jul 2023 11:31:25 +0000 (13:31 +0200)]
qa/workunits/rbd: use jammy version of qemu-iotests for centos 9

It's the one we are using for all recent distros.

While at it, get rid of custom bin directory -- it appears that both
v2.3.0 and v2.11.0 tests are happy with just symlinks in the current
directory.

Fixes: https://tracker.ceph.com/issues/61565
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agoMerge PR #52523 into main
Venky Shankar [Tue, 25 Jul 2023 10:53:23 +0000 (16:23 +0530)]
Merge PR #52523 into main

* refs/pull/52523/head:
mds: remove dead method

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2 years agoMerge pull request #52429 from guits/fix-raw-list
Guillaume Abrioux [Tue, 25 Jul 2023 08:22:26 +0000 (10:22 +0200)]
Merge pull request #52429 from guits/fix-raw-list

ceph-volume: fix raw list for lvm devices

2 years agoMerge PR #52597 into main
Venky Shankar [Tue, 25 Jul 2023 07:23:45 +0000 (12:53 +0530)]
Merge PR #52597 into main

* refs/pull/52597/head:
qa: use centos 8.stream for fs:upgrade tests

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #52599 from Matan-B/wip-matanb-crimson-cbt-fix
Matan Breizman [Tue, 25 Jul 2023 06:58:58 +0000 (09:58 +0300)]
Merge pull request #52599 from Matan-B/wip-matanb-crimson-cbt-fix

qa: Fix cbt usage with Crimson

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #52598 from Matan-B/wip-matanb-crimson-centos-8
Matan Breizman [Tue, 25 Jul 2023 06:57:01 +0000 (09:57 +0300)]
Merge pull request #52598 from Matan-B/wip-matanb-crimson-centos-8

qa/suites/crimson-rados: Use centos8 for testing

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoqa: use centos 8.stream for fs:upgrade tests 52597/head
Venky Shankar [Mon, 24 Jul 2023 06:54:35 +0000 (12:24 +0530)]
qa: use centos 8.stream for fs:upgrade tests

fs:upgrade tests use n/o/p release packages which aren't
available for centos 9.stream - switch using 8.stream instead.

Fixes: http://tracker.ceph.com/issues/62146
Signed-off-by: Venky Shankar <vshankar@redhat.com>
2 years agoMerge PR #48038 into main
Venky Shankar [Tue, 25 Jul 2023 04:04:36 +0000 (09:34 +0530)]
Merge PR #48038 into main

* refs/pull/48038/head:
client test: Add fsync to ll_preadv_pwritev test
libcephfs: Option to write + fsync via ceph_ll_nonblocking_readv_writev
Client: Hook nonblocking fsync into the write path of ll_preadv_pwritev
Client: Add non-blocking fsync
Client/Inode: wait_for_caps fixups
Client: change several waitfor_* to use Context list
test: Add nonblocking I/O client test
libcephfs: Add nonblocking readv/writev I/O interface
Client: Add ll_preadv_pwritev to expose non-blocking I/O to libcephfs
Client: Add non-blocking helper classes
Client: Break some code into new methods in prep for non-blocking I/O
Buffers: Add function to buffer.h to copy bufferlist to an iovec
ObjectCacher: Prepare file_write path for non-blocking I/O

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2 years agoMerge pull request #52607 from zap51/patch-1
Ilya Dryomov [Tue, 25 Jul 2023 02:49:40 +0000 (04:49 +0200)]
Merge pull request #52607 from zap51/patch-1

doc/rbd/rbd-cloudstack.rst: include support for multiple monitors

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 years agoMerge pull request #49889 from bluikko/bluikko-doc-srv-lookup-link
Anthony D'Atri [Mon, 24 Jul 2023 22:39:53 +0000 (18:39 -0400)]
Merge pull request #49889 from bluikko/bluikko-doc-srv-lookup-link

doc/rados/configuration: add links to MON DNS

2 years agodoc/rbd/rbd-cloudstack.rst: include support for multiple monitors 52607/head
Jayanth Reddy [Mon, 24 Jul 2023 16:04:06 +0000 (21:34 +0530)]
doc/rbd/rbd-cloudstack.rst: include support for multiple monitors

Signed-off-by: Jayanth Reddy <45934027+zap51@users.noreply.github.com>
2 years agoclient test: Add fsync to ll_preadv_pwritev test nonblocking-io 48038/head
Frank S. Filz [Mon, 8 Aug 2022 23:48:37 +0000 (16:48 -0700)]
client test: Add fsync to ll_preadv_pwritev test

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
2 years agolibcephfs: Option to write + fsync via ceph_ll_nonblocking_readv_writev
Frank S. Filz [Thu, 14 Jul 2022 22:04:24 +0000 (15:04 -0700)]
libcephfs: Option to write + fsync via ceph_ll_nonblocking_readv_writev

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
2 years agoClient: Hook nonblocking fsync into the write path of ll_preadv_pwritev
Frank S. Filz [Thu, 14 Jul 2022 22:02:06 +0000 (15:02 -0700)]
Client: Hook nonblocking fsync into the write path of ll_preadv_pwritev

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
2 years agoClient: Add non-blocking fsync
Frank S. Filz [Fri, 1 Jul 2022 20:58:23 +0000 (13:58 -0700)]
Client: Add non-blocking fsync

We will need the ability to do an non-blocking write that finishes with
fsync so we need non-blocking fsync.

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
2 years agoClient/Inode: wait_for_caps fixups
Frank S. Filz [Tue, 6 Sep 2022 18:44:43 +0000 (11:44 -0700)]
Client/Inode: wait_for_caps fixups

The non-blocking flush requires us to be able to re-add to
wait_for_caps but if we simply add to the list, we get stuck in an
infinite loop. Add a wait_for_caps_pending list to add to, and then
when done signalling, we move the wait_for_caps_pending items onto the
wait_for_caps list.

Also in handle_cap_flush_ack(), we need to complete the caps flushing
before signalling since with non-blocking flush, we will be actually
examining the caps from the completion rather than signalling a
condition variable in the completion.

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
2 years agoClient: change several waitfor_* to use Context list
Frank S. Filz [Wed, 29 Jun 2022 22:39:12 +0000 (15:39 -0700)]
Client: change several waitfor_* to use Context list

Change waitfor_caps, waitfor_safe and waitfor_commit to Context list.

To make a non-blocking version of fsync (to be used for non-blocking write
and commit), we need to be able to signal an arbitrary Context on completion
of either of these lists.

add_nonblocking_onfinish_to_context_list Adds such a Context to the list.

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
2 years agotest: Add nonblocking I/O client test
Frank S. Filz [Wed, 11 May 2022 21:37:15 +0000 (14:37 -0700)]
test: Add nonblocking I/O client test

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
2 years agolibcephfs: Add nonblocking readv/writev I/O interface
Frank S. Filz [Wed, 11 May 2022 21:35:53 +0000 (14:35 -0700)]
libcephfs: Add nonblocking readv/writev I/O interface

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
2 years agoClient: Add ll_preadv_pwritev to expose non-blocking I/O to libcephfs
Frank S. Filz [Wed, 11 May 2022 21:34:35 +0000 (14:34 -0700)]
Client: Add ll_preadv_pwritev to expose non-blocking I/O to libcephfs

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
2 years agoClient: Add non-blocking helper classes
Frank S. Filz [Wed, 11 May 2022 21:22:55 +0000 (14:22 -0700)]
Client: Add non-blocking helper classes

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
2 years agoClient: Break some code into new methods in prep for non-blocking I/O
Frank S. Filz [Tue, 10 May 2022 22:02:15 +0000 (15:02 -0700)]
Client: Break some code into new methods in prep for non-blocking I/O

These bits of code need to be invoked from a separate spot when we
introduce non-blocking I/O, so break them out now.

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
2 years agoBuffers: Add function to buffer.h to copy bufferlist to an iovec
Frank S. Filz [Tue, 10 May 2022 21:15:05 +0000 (14:15 -0700)]
Buffers: Add function to buffer.h to copy bufferlist to an iovec

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
2 years agoObjectCacher: Prepare file_write path for non-blocking I/O
Frank S. Filz [Wed, 4 May 2022 20:35:44 +0000 (13:35 -0700)]
ObjectCacher: Prepare file_write path for non-blocking I/O

For non-blocking I/O, we will want to be able to override
block_writes_upfront so rename the member cfg_block_writes_upfront and add
an option to pass block_writes_upfront as a parameter along with a member
access method so caller can pass cfg_block_writes_upfront.

Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>
2 years agoMerge pull request #52521 from cbodley/wip-62059
Casey Bodley [Mon, 24 Jul 2023 18:06:01 +0000 (14:06 -0400)]
Merge pull request #52521 from cbodley/wip-62059

valgrind: update suppression for SyscallParam under call_init

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
2 years agoMerge pull request #52601 from idryomov/wip-doc-redundant-tiering-note
Neha Ojha [Mon, 24 Jul 2023 17:06:23 +0000 (10:06 -0700)]
Merge pull request #52601 from idryomov/wip-doc-redundant-tiering-note

doc/rados: remove redundant cache tiering deprecation note

Reviewed-by: Neha Ojha <nojha@redhat.com>
2 years agorgw: typecast long long to int when passing length to format string 52435/head
Vedansh Bhartia [Sun, 16 Jul 2023 04:58:07 +0000 (10:28 +0530)]
rgw: typecast long long to int when passing length to format string

Signed-off-by: Vedansh Bhartia <vedanshbhartia@gmail.com>
2 years agoMerge pull request #51934 from kotreshhr/fix-assert-rename
Rishabh Dave [Mon, 24 Jul 2023 16:14:27 +0000 (21:44 +0530)]
Merge pull request #51934 from kotreshhr/fix-assert-rename

mds: Fix the linkmerge assert check

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
2 years agoMerge pull request #52473 from vedanshbhartia/null_deref
Yuval Lifshitz [Mon, 24 Jul 2023 16:11:44 +0000 (19:11 +0300)]
Merge pull request #52473 from vedanshbhartia/null_deref

rgw: add coverity annotations and asserts for null dereferences

2 years agoMerge pull request #52437 from vedanshbhartia/coverity_missing_break
Yuval Lifshitz [Mon, 24 Jul 2023 16:11:01 +0000 (19:11 +0300)]
Merge pull request #52437 from vedanshbhartia/coverity_missing_break

rgw: Add coverity annotation for missing break statement in switch

2 years agoMerge pull request #52436 from vedanshbhartia/coverity_logical_dead
Yuval Lifshitz [Mon, 24 Jul 2023 16:10:08 +0000 (19:10 +0300)]
Merge pull request #52436 from vedanshbhartia/coverity_logical_dead

rgw: Remove logically dead code

2 years agoMerge pull request #52434 from vedanshbhartia/coverity_1511179
Yuval Lifshitz [Mon, 24 Jul 2023 16:08:06 +0000 (19:08 +0300)]
Merge pull request #52434 from vedanshbhartia/coverity_1511179

rgw: Fix potential null pointer dereference in rgw_user.cc

2 years agoMerge pull request #52433 from vedanshbhartia/coverity_1510266
Yuval Lifshitz [Mon, 24 Jul 2023 16:07:31 +0000 (19:07 +0300)]
Merge pull request #52433 from vedanshbhartia/coverity_1510266

rgw: When finding bucket owner info, handle account name being empty

2 years agoMerge pull request #52432 from vedanshbhartia/coverity_1511177
Yuval Lifshitz [Mon, 24 Jul 2023 16:06:42 +0000 (19:06 +0300)]
Merge pull request #52432 from vedanshbhartia/coverity_1511177

rgw: Fix potential null dereference error in bucket name parsing

2 years agoMerge pull request #52253 from vedanshbhartia/coverity_1515338
Yuval Lifshitz [Mon, 24 Jul 2023 16:05:04 +0000 (19:05 +0300)]
Merge pull request #52253 from vedanshbhartia/coverity_1515338

rgw: Init res id with cls_2pc_reservation::NO_ID

2 years agoMerge pull request #51648 from vedanshbhartia/coverity_1510684
Yuval Lifshitz [Mon, 24 Jul 2023 16:04:08 +0000 (19:04 +0300)]
Merge pull request #51648 from vedanshbhartia/coverity_1510684

rgw: refactor D3nDataCache::d3n_io_write to avoid resource leaks

2 years agoMerge pull request #51772 from caisan/multisite-hang-period-update
Casey Bodley [Mon, 24 Jul 2023 14:30:39 +0000 (10:30 -0400)]
Merge pull request #51772 from caisan/multisite-hang-period-update

rgw:multisite hang when update and commit period

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>