]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 years agoosd/PG: remove unused function. 37096/head
Jianpeng Ma [Fri, 11 Sep 2020 03:08:17 +0000 (11:08 +0800)]
osd/PG: remove unused function.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
4 years agoMerge pull request #36935 from mgfritch/cephadm-ceph-service
Sebastian Wagner [Thu, 10 Sep 2020 22:13:10 +0000 (00:13 +0200)]
Merge pull request #36935 from mgfritch/cephadm-ceph-service

mgr/cephadm: introduce `CephService` class

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agoMerge pull request #37070 from zdover23/wip-doc-3-hacking-into-docs
zdover23 [Thu, 10 Sep 2020 22:04:24 +0000 (08:04 +1000)]
Merge pull request #37070 from zdover23/wip-doc-3-hacking-into-docs

doc/dev: add HACKING.rst to Dev Guide

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge pull request #37089 from cbodley/wip-cmake-osd-fifo
Casey Bodley [Thu, 10 Sep 2020 18:52:27 +0000 (14:52 -0400)]
Merge pull request #37089 from cbodley/wip-cmake-osd-fifo

cmake: add cls_fifo as a dependency of osd

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Soumya Koduri <skoduri@redhat.com>
Reviewed-by: Ali Maredia <amaredia@redhat.com>
4 years agoMerge pull request #36980 from adk3798/fix-iscsi
Sebastian Wagner [Thu, 10 Sep 2020 18:02:03 +0000 (20:02 +0200)]
Merge pull request #36980 from adk3798/fix-iscsi

cephadm: fix iSCSI unit.run file

Reviewed-by: Matthew Oliver <moliver@suse.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
4 years agoMerge pull request #36747 from varshar16/wip-doc-update-about-priority-check
Neha Ojha [Thu, 10 Sep 2020 17:29:29 +0000 (10:29 -0700)]
Merge pull request #36747 from varshar16/wip-doc-update-about-priority-check

doc/developer_guide: Update about '--force-priority' flag

Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Kyr Shatskyy <kyrylo.shatskyy@suse.de>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge pull request #36313 from changchengx/fix_warning
Casey Bodley [Thu, 10 Sep 2020 16:59:05 +0000 (12:59 -0400)]
Merge pull request #36313 from changchengx/fix_warning

rgw: fix vector index warning

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agocmake: add cls_fifo as a dependency of osd 37089/head
Casey Bodley [Thu, 10 Sep 2020 16:45:50 +0000 (12:45 -0400)]
cmake: add cls_fifo as a dependency of osd

otherwise cls_fifo is not built by 'make vstart'

Signed-off-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #37075 from tchaikov/wip-doc-dev
Kefu Chai [Thu, 10 Sep 2020 15:29:30 +0000 (23:29 +0800)]
Merge pull request #37075 from tchaikov/wip-doc-dev

doc/dev: fix broken link and fix the codeblocks' formatting

Reviewed-by: Zac Dover <zac.dover@gmail.com>
4 years agodoc/dev: add HACKING.rst to Dev Guide 37070/head
Zac Dover [Wed, 9 Sep 2020 13:08:29 +0000 (23:08 +1000)]
doc/dev: add HACKING.rst to Dev Guide

This commit exposes HACKING.rst through the
docs website. Formerly, HACKING.rst was just
a file that existed at /src/pybind/mgr/dashboard/
HACKING.rst. This commit also updates README.rst
to point to the new location of HACKING.rst.

Fixes: https://tracker.ceph.com/issues/47230
Signed-off-by: Zac Dover <zac.dover@gmail.com>
4 years agoMerge pull request #37071 from votdev/cleanup_servicespec_code
Sebastian Wagner [Thu, 10 Sep 2020 14:08:08 +0000 (16:08 +0200)]
Merge pull request #37071 from votdev/cleanup_servicespec_code

cephadm: Remove assignment to member variable in ServiceSpecs

Reviewed-by: Joshua Schmid <jschmid@suse.de>
4 years agoMerge PR #37046 into master
Sebastian Wagner [Thu, 10 Sep 2020 14:03:48 +0000 (16:03 +0200)]
Merge PR #37046 into master

* refs/pull/37046/head:
cephadm: unit.run: create /var/run/ceph/$FSID before doing anything else

Reviewed-by: Sebastian Wagner <swagner@suse.com>
4 years agoMerge pull request #36766 from jmolmo/cephadm_log
Sebastian Wagner [Thu, 10 Sep 2020 13:44:17 +0000 (15:44 +0200)]
Merge pull request #36766 from jmolmo/cephadm_log

cephadm: log to file

4 years agoMerge pull request #36798 from dang/wip-dang-zipper-8
Daniel Gryniewicz [Thu, 10 Sep 2020 12:29:00 +0000 (08:29 -0400)]
Merge pull request #36798 from dang/wip-dang-zipper-8

Wip dang zipper 8

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #37039 from jan--f/c-v-no-fstrings
Jan Fajerski [Thu, 10 Sep 2020 11:34:44 +0000 (13:34 +0200)]
Merge pull request #37039 from jan--f/c-v-no-fstrings

ceph-volume: avoid format strings for now

4 years agoMerge pull request #36855 from yaarith/fix-devid-split
Kefu Chai [Thu, 10 Sep 2020 07:51:20 +0000 (15:51 +0800)]
Merge pull request #36855 from yaarith/fix-devid-split

mgr/telemetry: fix device id splitting when anonymizing serial

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoceph-volume: avoid format strings for now 37039/head
Jan Fajerski [Tue, 8 Sep 2020 07:34:00 +0000 (09:34 +0200)]
ceph-volume: avoid format strings for now

Fixes: https://tracker.ceph.com/issues/47354
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
4 years agoMerge pull request #37005 from tchaikov/wip-buffer-hyprcombine
Kefu Chai [Thu, 10 Sep 2020 07:49:55 +0000 (15:49 +0800)]
Merge pull request #37005 from tchaikov/wip-buffer-hyprcombine

common/buffer: check for null before deref

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agodoc/dev: reformat the sample for tree structure of a test suite 37075/head
Kefu Chai [Thu, 10 Sep 2020 06:33:50 +0000 (14:33 +0800)]
doc/dev: reformat the sample for tree structure of a test suite

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/dev: use appropriate directive for code blocks
Kefu Chai [Thu, 10 Sep 2020 06:09:18 +0000 (14:09 +0800)]
doc/dev: use appropriate directive for code blocks

* use "code-block:: yaml" for qa suite samples
* use "prompt:: bash $" for shell commands using a non-root user

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/dev: update supported distros of ceph
Kefu Chai [Thu, 10 Sep 2020 06:03:37 +0000 (14:03 +0800)]
doc/dev: update supported distros of ceph

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/dev: drop unused label
Kefu Chai [Thu, 10 Sep 2020 06:00:00 +0000 (14:00 +0800)]
doc/dev: drop unused label

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/dev: fix broken link
Kefu Chai [Thu, 10 Sep 2020 05:58:08 +0000 (13:58 +0800)]
doc/dev: fix broken link

otherwise "make check" would be a link pointing to
https://wiki.sepia.ceph.com/doku.php

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #37050 from idryomov/wip-krbd-namespace-symlinks
Ilya Dryomov [Thu, 10 Sep 2020 06:04:10 +0000 (08:04 +0200)]
Merge pull request #37050 from idryomov/wip-krbd-namespace-symlinks

rbd: include RADOS namespace in krbd symlinks

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge pull request #37073 from tchaikov/wip-crimson-test-config
Kefu Chai [Thu, 10 Sep 2020 05:43:13 +0000 (13:43 +0800)]
Merge pull request #37073 from tchaikov/wip-crimson-test-config

test/crimson: fix racing in testing

Reviewed-by: Samuel Just <sjust@redhat.com>
4 years agoMerge pull request #36961 from jdurgin/wip-auth-perf
Josh Durgin [Thu, 10 Sep 2020 05:12:52 +0000 (22:12 -0700)]
Merge pull request #36961 from jdurgin/wip-auth-perf

mon/AuthMonitor: speed up caps updates

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agocmake: add unittest_seastar_config as a ceph test 37073/head
Kefu Chai [Thu, 10 Sep 2020 03:53:08 +0000 (11:53 +0800)]
cmake: add unittest_seastar_config as a ceph test

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agotest/crimson: fix racing in testing
Kefu Chai [Thu, 10 Sep 2020 03:41:27 +0000 (11:41 +0800)]
test/crimson: fix racing in testing

before this change, unittest_seastar_config set the specified option to
the shard id in parallel and expects that the values of the option are
consistent across all shards after setting the value on all shards. but
sharded::invoke_on_all() is executed in parallel, and so does
ConfigProxy::do_change(), so there are actually "n x n" continuations
racing each other. the order of the continuations storing the setting
cannot be determined. so we cannot expected that the last batch of
continuations hitting shareds store the same value.

in this change, only a single `conf.set_val()` call is performed with
a known value. and this value is checked with the values stored on all
shards.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agotest/crimson: use seastar::make_ready_future()
Kefu Chai [Thu, 10 Sep 2020 02:58:40 +0000 (10:58 +0800)]
test/crimson: use seastar::make_ready_future()

instead of seastar::now(). as seastar::now() was moved into
seastar/util/laster.hh.

this change is a leftover of aa28b51f3c5434253c1788927100fb0b6e41bdbb

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #36962 from tchaikov/wip-qa-py3-cleanup
Kefu Chai [Thu, 10 Sep 2020 01:39:20 +0000 (09:39 +0800)]
Merge pull request #36962 from tchaikov/wip-qa-py3-cleanup

qa: py3 cleanups

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #37054 from cbodley/wip-47306
Casey Bodley [Wed, 9 Sep 2020 21:11:43 +0000 (17:11 -0400)]
Merge pull request #37054 from cbodley/wip-47306

rgw: ObjectCache::put() clears stale objv

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Mark Kogan <mkogan@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
4 years agoMerge pull request #36619 from cbodley/wip-46734
Matt Benjamin [Wed, 9 Sep 2020 19:57:24 +0000 (15:57 -0400)]
Merge pull request #36619 from cbodley/wip-46734

dmclock: update submodule to fix hang on thread shutdown

4 years agoMerge pull request #35548 from adamemerson/wip-datalog-fifo
Matt Benjamin [Wed, 9 Sep 2020 19:56:26 +0000 (15:56 -0400)]
Merge pull request #35548 from adamemerson/wip-datalog-fifo

FIFO the Datalog!

4 years agocephadm: Remove assignment to member variable in ServiceSpecs 37071/head
Volker Theile [Wed, 9 Sep 2020 16:08:17 +0000 (18:08 +0200)]
cephadm: Remove assignment to member variable in ServiceSpecs

Remove unnecessary assignment to member variable 'preview_only', this is done in the constructor of the derived ServiceSpec class.

Fixes: https://tracker.ceph.com/issues/47384
Signed-off-by: Volker Theile <vtheile@suse.com>
4 years agoMerge pull request #36964 from trociny/wip-47275
Jason Dillaman [Wed, 9 Sep 2020 15:32:06 +0000 (11:32 -0400)]
Merge pull request #36964 from trociny/wip-47275

mgr: don't update pending service map epoch on receiving map from mon

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge pull request #34777 from nSedrickm/grafana-iframe
Lenz Grimmer [Wed, 9 Sep 2020 09:10:20 +0000 (11:10 +0200)]
Merge pull request #34777 from nSedrickm/grafana-iframe

mgr/dashboard: increase Grafana iframe height to avoid scroll bar

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
4 years agoMerge pull request #37057 from tchaikov/wip-bump-seastar
Kefu Chai [Wed, 9 Sep 2020 07:36:04 +0000 (15:36 +0800)]
Merge pull request #37057 from tchaikov/wip-bump-seastar

seastar,crimson: bump seastar to use upstream master

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agoqa: add test for krbd symlinks created by udev 37050/head
Ilya Dryomov [Mon, 7 Sep 2020 14:51:22 +0000 (16:51 +0200)]
qa: add test for krbd symlinks created by udev

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
4 years agoMerge pull request #37042 from xxhdx1985126/wip-47357
Kefu Chai [Wed, 9 Sep 2020 05:48:46 +0000 (13:48 +0800)]
Merge pull request #37042 from xxhdx1985126/wip-47357

crimson/osd: avoid accessing WaitForObjectRecovery::pi when no pulling occurred

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoseastar: bump seastar to use upstream master 37057/head
Kefu Chai [Wed, 9 Sep 2020 04:00:41 +0000 (12:00 +0800)]
seastar: bump seastar to use upstream master

before this change we are using a fork which includes a fix to address
the FTBFS with GnuTLS < 3.5.6

after this change, we are using the lastest upstream which already
contains this fix.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson/osd: print notify_id instead of its address
Kefu Chai [Wed, 9 Sep 2020 03:46:01 +0000 (11:46 +0800)]
crimson/osd: print notify_id instead of its address

this addresses the FTBFS like

    /usr/include/fmt/core.h:902:19: error: static assertion failed: formatting of non-void pointers is disallowed
      902 |     static_assert(!sizeof(T), "formatting of non-void pointers is disallowed");
          |                   ^~~~~~~~~~

also, i think it is more helpful in this context to have the
notify id instead of the address, as we can use the id to reference
the notification printed by other logging messages.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson/os: cast pointers to void* before printing them
Kefu Chai [Wed, 9 Sep 2020 03:26:58 +0000 (11:26 +0800)]
crimson/os: cast pointers to void* before printing them

to address the FTBFS like:

../src/crimson/os/seastore/lba_manager/btree/btree_range_pin.cc:110:14:   required from here
/usr/include/fmt/core.h:902:19: error: static assertion failed: formatting of non-void pointers is disallowed
  902 |     static_assert(!sizeof(T), "formatting of non-void pointers is disallowed");
      |                   ^~~~~~~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson/os: instantiate future_type<> with future_stored_type
Kefu Chai [Wed, 9 Sep 2020 03:25:03 +0000 (11:25 +0800)]
crimson/os: instantiate future_type<> with future_stored_type

to accommodate the change on seastar's side, which started to use
monostate for representing `void` return type, and hide this convention
using future_stored_type_t.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson/common: move continuation_base_from_future out of internal namespace
Kefu Chai [Wed, 9 Sep 2020 02:45:18 +0000 (10:45 +0800)]
crimson/common: move continuation_base_from_future out of internal namespace

otherwise we have

../src/crimson/common/errorator.h:1090:8: error: specialization of ‘template<class Future> struct seastar::continuation_base_from_future’ in different namespace [-fpermissive]
 1090 | struct continuation_base_from_future<Container<::crimson::errorated_future_marker<Values...>>> {
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

since seastar has moved its continuation_base_from_future() out
of seastar::internal into seastar namespace

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson/net: print entity_addr_t not the in4_addr in it
Kefu Chai [Wed, 9 Sep 2020 02:24:09 +0000 (10:24 +0800)]
crimson/net: print entity_addr_t not the in4_addr in it

for two reasons:

* we don't have operator<<(ostream&, in4_addr&) defined.
* we don't have any fmt::format() facility specialized for in4_addr
* to print entity_addr_t instead of in4_addr is more correct in
  the sense that we should support IPv6

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agotest/crimson: include seastar/util/later.hh for seastar::now()
Kefu Chai [Wed, 9 Sep 2020 05:24:11 +0000 (13:24 +0800)]
test/crimson: include seastar/util/later.hh for seastar::now()

seastar::now() is extracted into seastar/util/later.hh in a recent
change in seastar, so update accordingly

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson: include seastar/core/when_all.hh for when_all()
Kefu Chai [Wed, 9 Sep 2020 02:23:48 +0000 (10:23 +0800)]
crimson: include seastar/core/when_all.hh for when_all()

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson/osd: use temporary RecoveryInfo for recovering object delete ops 37042/head
Xuehan Xu [Wed, 9 Sep 2020 04:37:25 +0000 (12:37 +0800)]
crimson/osd: use temporary RecoveryInfo for recovering object delete ops

Right now, recover_delete use WaitForObjectRecovery::pi, which may not be available
if there were no pulling, to pass recovery_info, so use temporary recovery_info instead

Fixes: https://tracker.ceph.com/issues/47357
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
4 years agocrimson/osd: set push future an exception when there are errors during pushing
Xuehan Xu [Wed, 9 Sep 2020 04:36:18 +0000 (12:36 +0800)]
crimson/osd: set push future an exception when there are errors during pushing

Fixes: https://tracker.ceph.com/issues/47357
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
4 years agocrimson/net: do not print non-void* pointer
Kefu Chai [Wed, 9 Sep 2020 02:17:28 +0000 (10:17 +0800)]
crimson/net: do not print non-void* pointer

to address the failure like

fmt/core.h:902:19: error: static assertion failed: formatting of non-void pointers is disallowed
  902 |     static_assert(!sizeof(T), "formatting of non-void pointers is disallowed");
      |                   ^~~~~~~~~~

and i searched around, couldn't find any other
statement printing the address of message, so
i think it's not of much use to print their
addresses in a single place, unless we can cross
check them in different places.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson: use seastar::make_ready_future()
Kefu Chai [Wed, 9 Sep 2020 02:08:20 +0000 (10:08 +0800)]
crimson: use seastar::make_ready_future()

instead of seastar::now(). as seastar::now() was moved into
seastar/util/laster.hh.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocls/fifo: Add 'exclusive' option to Trim 35548/head
Adam C. Emerson [Fri, 4 Sep 2020 00:43:47 +0000 (20:43 -0400)]
cls/fifo: Add 'exclusive' option to Trim

To support RGW's MetadataLog, add a flag to FIFO::trim that when true
trims up to but not including the given entry.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agorgw: Datalog with selectable backends, FIFO and Omap
Adam C. Emerson [Wed, 10 Jun 2020 16:14:36 +0000 (12:14 -0400)]
rgw: Datalog with selectable backends, FIFO and Omap

By default, use whatever is present (and use FIFO if nothing is
present.)

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agorgw: Fix async caller into Datalog
Adam C. Emerson [Fri, 5 Jun 2020 23:28:29 +0000 (19:28 -0400)]
rgw: Fix async caller into Datalog

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agorgw: Remove superfluous wrapper around datalog
Adam C. Emerson [Tue, 12 May 2020 23:59:17 +0000 (19:59 -0400)]
rgw: Remove superfluous wrapper around datalog

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agorgw: Normalize DataLog function signatures
Adam C. Emerson [Tue, 12 May 2020 22:50:14 +0000 (18:50 -0400)]
rgw: Normalize DataLog function signatures

Pull out the stuff we aren't using so FIFO and Timelog Datalog can use
the same interface.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agocommon: Make error conversion functions `nodiscard`
Adam C. Emerson [Wed, 2 Sep 2020 16:18:22 +0000 (12:18 -0400)]
common: Make error conversion functions `nodiscard`

As suggested by Casey, so the compiler can catch failures to return
errors.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agorgw: Get rid of BucketFilter class, use a std::function
Adam C. Emerson [Mon, 4 May 2020 19:23:21 +0000 (15:23 -0400)]
rgw: Get rid of BucketFilter class, use a std::function

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agorgw: Remove date from REST log trim/list
Adam C. Emerson [Thu, 30 Apr 2020 20:38:41 +0000 (16:38 -0400)]
rgw: Remove date from REST log trim/list

Also only accept one marker.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agorgw: Remove some TimeLog options from radosgw-admin
Adam C. Emerson [Thu, 30 Apr 2020 19:06:13 +0000 (15:06 -0400)]
rgw: Remove some TimeLog options from radosgw-admin

Remove date-oriented trim/list functionality from MDLOG, DataLog, and
Sync-Error-Log.

Don't provide start/end markers. Support only a start marker for list
and an end marker for trim.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agogitignore: Add vstart_environment.sh
Adam C. Emerson [Tue, 4 Aug 2020 02:49:36 +0000 (22:49 -0400)]
gitignore: Add vstart_environment.sh

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agorgw: FIFO for legacy RADOS client
Adam C. Emerson [Thu, 14 May 2020 15:11:12 +0000 (11:11 -0400)]
rgw: FIFO for legacy RADOS client

Use optional_yield for most operations and provide an AioCompletion*
overload for trim.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agocls/fifo: Use neorados interface
Adam C. Emerson [Tue, 4 Feb 2020 16:33:48 +0000 (11:33 -0500)]
cls/fifo: Use neorados interface

Rewrite around the asynchronous ASIO-based RADOS interface, and
include support for calls from multiple threads.

`allocate_unique` pattern contributed by
Casey Bodley <cbodley@redhat.com>

Co-authored-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agocls/fifo: FIFO over RADOS
Yehuda Sadeh [Thu, 5 Sep 2019 11:15:15 +0000 (04:15 -0700)]
cls/fifo: FIFO over RADOS

This is an implementation of fifo queue over rados. Data is appended
to rados object until it's full. At that point data will be written to
a new object. Data is read from the tail sequentially (can be iterated
using marker). Data can be trimmed (up to and including marker).

Queue has a header object (meta), and zero or more data objects (parts).

The software has two layers: the higher level client operations side
that deals with the application apis, and manages the meta and parts,
and there’s the objclass level that deals with the rados layout of
meta and part objects. There are different objclass methods that deal
with reading and modifying each of these entities.

A single part has max possible size, however, it may become full once
a certain smaller size is reached (full_size_threshold). It is
imperative that once a part has reached its capacity, it will not
allow any more writes into it. For this reason, it is important that
data being written to the queue does not exceed max_entry_size . This
is enforced, by the higher level client api.

Written entries go to the current head object, and when it’s full, a
new head part is created. When listing entries, data is iterated from
tail to the current head. Trim can either change the pointer within
the current tail object, and if needed it removes tail objects.

A unitest has been created to test functionality.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
Squashed-by: Adam C. Emerson <aemerson@redhat.com>
4 years agostrtol: Add parse/consume for string_view friendly interface
Adam C. Emerson [Fri, 6 Mar 2020 04:13:47 +0000 (23:13 -0500)]
strtol: Add parse/consume for string_view friendly interface

Also these don't have the stringstream overhead.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agocommon/Thread: Don't store pointer to thread_name
Adam C. Emerson [Tue, 7 Jul 2020 20:39:57 +0000 (16:39 -0400)]
common/Thread: Don't store pointer to thread_name

Having Thread::create store a pointer to a string that is passed to
ceph_pthread_setname in Thread::entry_wrapper can lead to using a
pointer in the calling thread's stack that gets freed before use.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agocommon/ceph_json: Support en/decoding Boost's flat containers
Adam C. Emerson [Tue, 10 Sep 2019 22:53:58 +0000 (18:53 -0400)]
common/ceph_json: Support en/decoding Boost's flat containers

Specifically boost::container::flat_map and boost::container::flat_set

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agocommon/async: Add handler for librados::AioCompletion
Adam C. Emerson [Tue, 5 May 2020 22:32:59 +0000 (18:32 -0400)]
common/async: Add handler for librados::AioCompletion

Support using a librados::AioCompletion as a completion handler in
Boost.Asio when the arguments are void or only an error code.

(To support more arguments we'd have to wrap up the AioCompletion with
pointers to hold them.)

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agocommon: add ceph::allocate_unique()
Casey Bodley [Fri, 3 Apr 2020 14:41:10 +0000 (10:41 -0400)]
common: add ceph::allocate_unique()

adds an allocator-aware version of std::make_unique(). this is similar to
std::allocate_shared(), though it's slightly less convenient because,
unlike std::shared_ptr<T>, the Deleter has to be specified as a template
parameter in std::unique_ptr<T, Deleter>

Signed-off-by: Casey Bodley <cbodley@redhat.com>
4 years agocommon: bind_like
Adam C. Emerson [Fri, 21 Feb 2020 17:46:47 +0000 (12:46 -0500)]
common: bind_like

A template to ensure that one completion has the same executor and
allocator as another.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agocommon: Add bind_allocator template
Adam C. Emerson [Fri, 21 Feb 2020 17:45:01 +0000 (12:45 -0500)]
common: Add bind_allocator template

Bind an allocator to a completion, analogously to
boost::async::bind_executor.

Based on bind_executor.hpp which is copyright 2003-2019
Christopher M. Kohlhoff <chris@kohlhoff.com> and under
the Boost Software License, Version 1.0

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agoinclude: Import (modified) uses_allocator.h
Adam C. Emerson [Fri, 21 Feb 2020 17:40:55 +0000 (12:40 -0500)]
include: Import (modified) uses_allocator.h

From https://github.com/phalpern/uses-allocator

To handle uses_allocator construction

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agoMerge pull request #37049 from yuriw/wip-yuriw-crontab-master
Yuri Weinstein [Tue, 8 Sep 2020 22:57:20 +0000 (15:57 -0700)]
Merge pull request #37049 from yuriw/wip-yuriw-crontab-master

qa/tests: removed extra line

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agorgw: ObjectCache::put() clears stale objv 37054/head
Casey Bodley [Tue, 8 Sep 2020 19:27:55 +0000 (15:27 -0400)]
rgw: ObjectCache::put() clears stale objv

if an existing object is cached with an object version, but it's
mutated without updating that version number, clear the OBJV flag so
that later cache reads asking for an object version result in a miss and
re-read the version from the osd

Fixes: https://tracker.ceph.com/issues/47306
Signed-off-by: Casey Bodley <cbodley@redhat.com>
4 years agorbd: include RADOS namespace in krbd symlinks
Ilya Dryomov [Mon, 7 Sep 2020 16:39:22 +0000 (18:39 +0200)]
rbd: include RADOS namespace in krbd symlinks

Fixes: https://tracker.ceph.com/issues/40247
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
4 years agoqa/tests: removed extra line 37049/head
Yuri Weinstein [Tue, 8 Sep 2020 17:03:51 +0000 (10:03 -0700)]
qa/tests: removed extra line

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
4 years agoZipper - More getRados removal 36798/head
Daniel Gryniewicz [Tue, 18 Aug 2020 19:22:21 +0000 (15:22 -0400)]
Zipper - More getRados removal

- read_usage

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
4 years agoZipper - Replace RGWAttrs with a using
Daniel Gryniewicz [Tue, 18 Aug 2020 18:33:48 +0000 (14:33 -0400)]
Zipper - Replace RGWAttrs with a using

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
4 years agoZipper - Make s->user a unique_ptr
Daniel Gryniewicz [Tue, 11 Aug 2020 13:33:02 +0000 (09:33 -0400)]
Zipper - Make s->user a unique_ptr

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
4 years agoZipper - cleanup get_obj_head and get_multipart_info
Daniel Gryniewicz [Mon, 10 Aug 2020 14:19:51 +0000 (10:19 -0400)]
Zipper - cleanup get_obj_head and get_multipart_info

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
4 years agoZipper - remove get_obj_attrs and last user
Daniel Gryniewicz [Fri, 7 Aug 2020 18:33:04 +0000 (14:33 -0400)]
Zipper - remove get_obj_attrs and last user

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
4 years agoZipper - More getRados removal
Daniel Gryniewicz [Fri, 7 Aug 2020 15:17:01 +0000 (11:17 -0400)]
Zipper - More getRados removal

- zonegroup
- obj policy

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
4 years agoZipper - Split RadosStore from base SAL
Daniel Gryniewicz [Fri, 7 Aug 2020 13:20:08 +0000 (09:20 -0400)]
Zipper - Split RadosStore from base SAL

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
4 years agoZipper - implement copy_object
Daniel Gryniewicz [Tue, 25 Aug 2020 14:00:27 +0000 (10:00 -0400)]
Zipper - implement copy_object

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
4 years agoZipper - Remove more instances of getRados() from rgw_op.cc
Daniel Gryniewicz [Tue, 4 Aug 2020 19:02:05 +0000 (15:02 -0400)]
Zipper - Remove more instances of getRados() from rgw_op.cc

- RGWGetObj and RGWPutObj

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
4 years agoMerge pull request #36230 from trociny/wip-43174-2
Kefu Chai [Tue, 8 Sep 2020 13:34:11 +0000 (21:34 +0800)]
Merge pull request #36230 from trociny/wip-43174-2

os/bluestore: fix collection_list ordering

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge pull request #36955 from agayev/zbc-to-zbd
Kefu Chai [Tue, 8 Sep 2020 13:24:11 +0000 (21:24 +0800)]
Merge pull request #36955 from agayev/zbc-to-zbd

os/bluestore: Switch from libzbc library to libzbd library

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #36950 from ceph/wip-bz1872983
Jan Fajerski [Tue, 8 Sep 2020 12:04:00 +0000 (14:04 +0200)]
Merge pull request #36950 from ceph/wip-bz1872983

ceph-volume: simple scan should ignore tmpfs

Reviewed-by: Jan Fajerski <jfajerski@suse.com>
4 years agocephadm: unit.run: create /var/run/ceph/$FSID before doing anything else 37046/head
Tim Serong [Tue, 8 Sep 2020 10:50:35 +0000 (20:50 +1000)]
cephadm: unit.run: create /var/run/ceph/$FSID before doing anything else

This ensures the /var/run/ceph/$FSID directory exists before any
other commands are run.

Fixes: https://tracker.ceph.com/issues/47360
Signed-off-by: Tim Serong <tserong@suse.com>
4 years agoMerge pull request #36976 from rhcs-dashboard/fix-47285-master
Lenz Grimmer [Tue, 8 Sep 2020 10:34:30 +0000 (12:34 +0200)]
Merge pull request #36976 from rhcs-dashboard/fix-47285-master

mgr/dashboard: fix duplicate logs

Reviewed-by: Laura Paduano <lpaduano@suse.com>
4 years agoMerge pull request #37003 from xxhdx1985126/wip-47310
Kefu Chai [Tue, 8 Sep 2020 05:38:51 +0000 (13:38 +0800)]
Merge pull request #37003 from xxhdx1985126/wip-47310

crimson/osd: drop repop if osdmap has increased

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #36974 from jan--f/snap-schedule-keep-with-empty-retention
Venky Shankar [Tue, 8 Sep 2020 04:45:28 +0000 (10:15 +0530)]
Merge pull request #36974 from jan--f/snap-schedule-keep-with-empty-retention

snap-schedule: don't prune all on empty retention

4 years agocrimson/osd: add can_discard_op method for detecting "discardable" client requests 37003/head
Xuehan Xu [Tue, 8 Sep 2020 04:36:41 +0000 (12:36 +0800)]
crimson/osd: add can_discard_op method for detecting "discardable" client requests

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
4 years agocrimson/osd: drop repop if it can be discarded
Xuehan Xu [Tue, 8 Sep 2020 04:36:06 +0000 (12:36 +0800)]
crimson/osd: drop repop if it can be discarded

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
4 years agocrimson/osd: rename is_valid_rep_op_reply to can_discard_replica_op
Xuehan Xu [Tue, 8 Sep 2020 04:35:14 +0000 (12:35 +0800)]
crimson/osd: rename is_valid_rep_op_reply to can_discard_replica_op

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
4 years agoMerge pull request #36903 from sebastian-philipp/python-common-simplify-hsp-to-json
Sebastian Wagner [Mon, 7 Sep 2020 15:58:29 +0000 (17:58 +0200)]
Merge pull request #36903 from sebastian-philipp/python-common-simplify-hsp-to-json

python-common: Make HostPlacementSpec.to_json() more friendly

Reviewed-by: Adam King <adking@redhat.com>
4 years agocommon/buffer: add hint to compiler 37005/head
Kefu Chai [Sat, 5 Sep 2020 13:37:37 +0000 (21:37 +0800)]
common/buffer: add hint to compiler

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocommon/buffer: do not deref _raw ptr when checking for hypercombind buf
Kefu Chai [Sat, 5 Sep 2020 13:10:48 +0000 (21:10 +0800)]
common/buffer: do not deref _raw ptr when checking for hypercombind buf

_raw could be null when the buffer::ptr is std::moved away. and ASan
complains when we try to dereference a nullptr. so use a little awkward
way to calculate the address instead

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #36994 from ktdreyer/boost-context-s390x
Nathan Cutler [Mon, 7 Sep 2020 10:39:12 +0000 (12:39 +0200)]
Merge pull request #36994 from ktdreyer/boost-context-s390x

rpm: enable WITH_BOOST_CONTEXT for s390x

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
4 years agoMerge pull request #36432 from sebastian-philipp/cephadm-repo_digest
Sebastian Wagner [Mon, 7 Sep 2020 09:57:51 +0000 (11:57 +0200)]
Merge pull request #36432 from sebastian-philipp/cephadm-repo_digest

mgr/cephadm: convert tags to repo_digest

Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Varsha Rao <varao@redhat.com>