]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
5 years agoceph-volume: minor clean-up of `simple scan` subcommand help 31821/head
Michael Fritch [Fri, 22 Nov 2019 18:56:29 +0000 (11:56 -0700)]
ceph-volume: minor clean-up of `simple scan` subcommand help

Fixes: https://tracker.ceph.com/issues/43017
Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agoMerge PR #31698 into master
Sage Weil [Fri, 22 Nov 2019 17:24:27 +0000 (11:24 -0600)]
Merge PR #31698 into master

* refs/pull/31698/head:
rpm,deb: add cephdaemon user and sudoers file
ceph-daemon: use mgr/ssh command to create the ssh key
mgr/ssh: add 'ssh generate-key' and 'ssh clear-key' commands
mgr/ssh: add mode option
mgr/ssh: add 'ssh get-pub-key' and 'ssh get-user' commands
mgr/ssh: convert to command decorations
mgr/orchestrator: move command annotation helpers to orchestrator.py

Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agoMerge PR #31790 into master
Sage Weil [Fri, 22 Nov 2019 17:22:27 +0000 (11:22 -0600)]
Merge PR #31790 into master

* refs/pull/31790/head:
Revert "Merge pull request #16715 from adamemerson/wip-I-Object!"

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #31814 from jan--f/c-v-check-selinux-py2
Jan Fajerski [Fri, 22 Nov 2019 16:26:45 +0000 (17:26 +0100)]
Merge pull request #31814 from jan--f/c-v-check-selinux-py2

ceph-volume: check if we run in an selinux environment, now also in py2

5 years agoMerge PR #31788 into master
Sage Weil [Fri, 22 Nov 2019 15:33:36 +0000 (09:33 -0600)]
Merge PR #31788 into master

* refs/pull/31788/head:
ceph-daemon: append newline before public key string

Reviewed-by: Thomas Bechtold <tbechtold@suse.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agoRevert "Merge pull request #16715 from adamemerson/wip-I-Object!" 31790/head
Sage Weil [Fri, 22 Nov 2019 15:24:11 +0000 (09:24 -0600)]
Revert "Merge pull request #16715 from adamemerson/wip-I-Object!"

This reverts commit 669453138d89e0f797a1bd37f38a2d68e6aac366, reversing
changes made to 36f5fcbb97eb2b1bceb526331eb3464f460fc701.

Signed-off-by: Sage Weil <sage@redhat.com>
- conflicts due to code rearrangement in 14b0db908f652032c358e419ffa90f5676698d0e

5 years ago ceph-volume: python2 raises OSError on Popen with missing binary. 31814/head
Jan Fajerski [Fri, 22 Nov 2019 14:51:00 +0000 (15:51 +0100)]
 ceph-volume: python2 raises OSError on Popen with missing binary.

For compatibility alias FileNotFoundError to OSError.

Fixes: 72b79f71fa84fe0d56b2fd1745f5bb130380cc38
Fixes: https://tracker.ceph.com/issues/42967
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
5 years agoMerge PR #31798 into master
Sage Weil [Fri, 22 Nov 2019 14:50:52 +0000 (08:50 -0600)]
Merge PR #31798 into master

* refs/pull/31798/head:
ceph-daemon: ceph-volume works without an fsid
ceph-daemon: several commands that can infer fsids still require them
ceph-daemon: fix fsid inference

Reviewed-by: Michael Fritch <mfritch@suse.com>
5 years agoceph-volume: py2 compatibility for selinux test
Jan Fajerski [Fri, 22 Nov 2019 14:49:41 +0000 (15:49 +0100)]
ceph-volume: py2 compatibility for selinux test

Fixes: af30c7f956380beb3bc4021d60b9229a82bda4e2
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
5 years agoMerge pull request #31809 from jan--f/c-v-check-selinux
Alfredo Deza [Fri, 22 Nov 2019 14:28:21 +0000 (09:28 -0500)]
Merge pull request #31809 from jan--f/c-v-check-selinux

ceph-volume: check if we run in an selinux environment

Reviewed-by: Alfredo Deza <adeza@redhat.com>
5 years agoceph-daemon: ceph-volume works without an fsid 31798/head
Sage Weil [Thu, 21 Nov 2019 22:48:40 +0000 (16:48 -0600)]
ceph-daemon: ceph-volume works without an fsid

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoceph-daemon: several commands that can infer fsids still require them
Sage Weil [Thu, 21 Nov 2019 22:48:30 +0000 (16:48 -0600)]
ceph-daemon: several commands that can infer fsids still require them

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoceph-daemon: fix fsid inference
Sage Weil [Thu, 21 Nov 2019 22:47:59 +0000 (16:47 -0600)]
ceph-daemon: fix fsid inference

All return paths should return func.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #31771 from idryomov/wip-krbd-read-only-test
Ilya Dryomov [Fri, 22 Nov 2019 11:43:13 +0000 (12:43 +0100)]
Merge pull request #31771 from idryomov/wip-krbd-read-only-test

qa: update krbd_blkroset.t and add krbd_get_features.t

Reviewed-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
5 years agoceph-volume: don't assume SELinux 31809/head
Jan Fajerski [Fri, 22 Nov 2019 09:46:05 +0000 (10:46 +0100)]
ceph-volume: don't assume SELinux

Expect selinux related binaries to not be present.

Fixes: 33c8a64a54d9ea8962091caf8564cea3f603c5f5
Fixes: https://tracker.ceph.com/issues/42957
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
5 years agoMerge pull request #30621 from wjwithagen/wjw-fix-freebsd-linking
Kefu Chai [Fri, 22 Nov 2019 10:27:02 +0000 (18:27 +0800)]
Merge pull request #30621 from wjwithagen/wjw-fix-freebsd-linking

cmake: use GNU linker on FreeBSD

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoceph-volume: fix test test_selinuxenabled_doesnt_exist
Jan Fajerski [Fri, 22 Nov 2019 10:09:22 +0000 (11:09 +0100)]
ceph-volume: fix test test_selinuxenabled_doesnt_exist

Popen does not open a shell by default, so A FileNotFoundError is
raised instead of returning a 127 return code.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
5 years agoMerge pull request #31777 from smithfarm/wip-mimic-v13.2.7-release-notes
Nathan Cutler [Fri, 22 Nov 2019 08:13:20 +0000 (09:13 +0100)]
Merge pull request #31777 from smithfarm/wip-mimic-v13.2.7-release-notes

doc/releases: add release notes for mimic v13.2.7

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Jan Fajerski <jfajerski@suse.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #30387 from rzarzynski/wip-crimson-errorator
Kefu Chai [Fri, 22 Nov 2019 05:30:27 +0000 (13:30 +0800)]
Merge pull request #30387 from rzarzynski/wip-crimson-errorator

crimson: bring ceph::errorator with its first appliances

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #31793 into master
Patrick Donnelly [Fri, 22 Nov 2019 04:01:53 +0000 (20:01 -0800)]
Merge PR #31793 into master

* refs/pull/31793/head:
mds: release free heap pages after trim

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #31799 from yuriw/wip-yuriw-crontab-master
Yuri Weinstein [Fri, 22 Nov 2019 01:44:28 +0000 (17:44 -0800)]
Merge pull request #31799 from yuriw/wip-yuriw-crontab-master

qa/tests: trying to fix syntax error that prevented mimic-x to be add…

5 years agoqa/tests: trying to fix syntax error that prevented mimic-x to be added to the schedule 31799/head
Yuri Weinstein [Fri, 22 Nov 2019 00:43:54 +0000 (16:43 -0800)]
qa/tests: trying to fix syntax error that prevented mimic-x to be added to the schedule

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
5 years agoMerge PR #31465 into master
Sage Weil [Thu, 21 Nov 2019 22:26:04 +0000 (16:26 -0600)]
Merge PR #31465 into master

* refs/pull/31465/head:
doc/install/containers: add summary of containers and branches

Reviewed-by: Dan Mick <dmick@redhat.com>
5 years agoMerge PR #31702 into master
Sage Weil [Thu, 21 Nov 2019 21:41:56 +0000 (15:41 -0600)]
Merge PR #31702 into master

* refs/pull/31702/head:
ceph-daemon: infer fsid for shell, enter, ceph-volume, unit, logs

Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agorpm,deb: add cephdaemon user and sudoers file 31698/head
Sage Weil [Mon, 18 Nov 2019 01:44:08 +0000 (19:44 -0600)]
rpm,deb: add cephdaemon user and sudoers file

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agodoc/releases: add release notes for mimic v13.2.7 31777/head
Nathan Cutler [Thu, 21 Nov 2019 03:02:51 +0000 (04:02 +0100)]
doc/releases: add release notes for mimic v13.2.7

Signed-off-by: Nathan Cutler <ncutler@suse.com>
5 years agoMerge pull request #30960 from yuvalif/wip-yuval-add-kafka-notif-endpoint
Casey Bodley [Thu, 21 Nov 2019 19:42:23 +0000 (14:42 -0500)]
Merge pull request #30960 from yuvalif/wip-yuval-add-kafka-notif-endpoint

rgw/pubsub: add kafka notification endpoint

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
5 years agoceph-daemon: use mgr/ssh command to create the ssh key
Sage Weil [Mon, 18 Nov 2019 02:44:52 +0000 (20:44 -0600)]
ceph-daemon: use mgr/ssh command to create the ssh key

The mgr/ssh module has a command now to do this; use that instead of
generating the key ourselves and manually injecting it.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr/ssh: add 'ssh generate-key' and 'ssh clear-key' commands
Sage Weil [Thu, 21 Nov 2019 18:42:17 +0000 (12:42 -0600)]
mgr/ssh: add 'ssh generate-key' and 'ssh clear-key' commands

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomds: release free heap pages after trim 31793/head
Patrick Donnelly [Thu, 21 Nov 2019 18:09:39 +0000 (10:09 -0800)]
mds: release free heap pages after trim

MDS free heap space can grow to large for some workloads (like smallfile
and recursive deletes). This can cause the MDS mapped memory to grow
well beyond memory targets.

When we finally use the PriorityCache in the MDS, this will not be
necessary anymore as the PriorityCache already does this.

Fixes: https://tracker.ceph.com/issues/42938
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomgr/ssh: add mode option
Sage Weil [Mon, 18 Nov 2019 01:45:36 +0000 (19:45 -0600)]
mgr/ssh: add mode option

Set the mgr/ssh/mode option to ceph-daemon-package to switch to a mode
where we assume ceph-daemon is installed on the remote host and we can
ssh as user cephdaemon.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr/ssh: add 'ssh get-pub-key' and 'ssh get-user' commands
Sage Weil [Mon, 18 Nov 2019 01:25:56 +0000 (19:25 -0600)]
mgr/ssh: add 'ssh get-pub-key' and 'ssh get-user' commands

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr/ssh: convert to command decorations
Sage Weil [Mon, 18 Nov 2019 01:22:17 +0000 (19:22 -0600)]
mgr/ssh: convert to command decorations

Also fix up set-ssh-config error checking a bit.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr/orchestrator: move command annotation helpers to orchestrator.py
Sage Weil [Thu, 21 Nov 2019 18:35:42 +0000 (12:35 -0600)]
mgr/orchestrator: move command annotation helpers to orchestrator.py

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge PR #31747 into master
Sage Weil [Thu, 21 Nov 2019 17:49:35 +0000 (11:49 -0600)]
Merge PR #31747 into master

* refs/pull/31747/head:
qa/suites/rados/singleton-nomsgr/all/balancer: whitelist PG_AVAILABILITY

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
5 years agoMerge pull request #31734 from smithfarm/wip-cbs-fork-option
Nathan Cutler [Thu, 21 Nov 2019 17:43:22 +0000 (18:43 +0100)]
Merge pull request #31734 from smithfarm/wip-cbs-fork-option

ceph-backport.sh: allow user to specify --fork explicitly

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
5 years agoMerge PR #31120 into master
Patrick Donnelly [Thu, 21 Nov 2019 16:35:57 +0000 (08:35 -0800)]
Merge PR #31120 into master

* refs/pull/31120/head:
mds: Reorganize class members in MDSRank header

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoceph-daemon: append newline before public key string 31788/head
Ricardo Dias [Thu, 21 Nov 2019 15:01:31 +0000 (15:01 +0000)]
ceph-daemon: append newline before public key string

Sometimes, `authorized_keys` file does not end with a newline and
therefore the public key generated by ceph-daemon gets appended to
the same line of the previous key. Therefore we need to append a
newline before our key to guarantee that the above case does not
happen.

Signed-off-by: Ricardo Dias <rdias@suse.com>
5 years agomgr/dashboard: Cross sign button not working for some modals (#31783)
Lenz Grimmer [Thu, 21 Nov 2019 15:50:46 +0000 (15:50 +0000)]
mgr/dashboard: Cross sign button not working for some modals (#31783)

mgr/dashboard: Cross sign button not working for some modals

Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agomgr/dashboard: sort monitors by open sessions correctly. (#31752)
Lenz Grimmer [Thu, 21 Nov 2019 15:48:53 +0000 (15:48 +0000)]
mgr/dashboard: sort monitors by open sessions correctly. (#31752)

mgr/dashboard: sort monitors by open sessions correctly.

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
5 years agoMerge pull request #31738 from ricardoasmarques/wip-41776
Lenz Grimmer [Thu, 21 Nov 2019 15:46:23 +0000 (15:46 +0000)]
Merge pull request #31738 from ricardoasmarques/wip-41776

mgr/dashboard: Unable to set boolean values to false when default is true

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
5 years agoMerge pull request #31773 from idryomov/wip-krbd-snapshot-removal-test
Ilya Dryomov [Thu, 21 Nov 2019 15:44:21 +0000 (16:44 +0100)]
Merge pull request #31773 from idryomov/wip-krbd-snapshot-removal-test

qa: kernel.sh: update for read-only changes

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agomgr/dashboard: Don't use any xlf file when building the defaul… (#31727)
Lenz Grimmer [Thu, 21 Nov 2019 15:40:18 +0000 (15:40 +0000)]
mgr/dashboard: Don't use any xlf file when building the defaul… (#31727)

mgr/dashboard: Don't use any xlf file when building the default language

Reviewed-by: Tiago Melo <tmelo@suse.com>
5 years agoMerge PR #31748 into master
Sage Weil [Thu, 21 Nov 2019 15:04:23 +0000 (09:04 -0600)]
Merge PR #31748 into master

* refs/pull/31748/head:
qa/standalone/test_ceph_daemon.sh: remove old vg before creating
qa/standalone/test_ceph_daemon.sh: sudo for untar
qa/standalone/test_ceph_daemon.sh: sudo for losetup etc
qa/standalone/test_ceph_daemon.sh: fix overwrites of temp files

Reviewed-by: Michael Fritch <mfritch@suse.com>
5 years agomgr/dashboard: Update dev documentation URL (#31724)
Lenz Grimmer [Thu, 21 Nov 2019 15:04:07 +0000 (15:04 +0000)]
mgr/dashboard: Update dev documentation URL (#31724)

mgr/dashboard: Update dev documentation URL

Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agomgr/dashboard: Use new ImageSpec class (#31622)
Lenz Grimmer [Thu, 21 Nov 2019 15:02:17 +0000 (15:02 +0000)]
mgr/dashboard: Use new ImageSpec class (#31622)

mgr/dashboard: Use new ImageSpec class

Reviewed-by: Kiefer Chang <kiefer.chang@suse.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
5 years agomgr/dashboard: Dashboard can't handle self-signed cert on Graf… (#31129)
Lenz Grimmer [Thu, 21 Nov 2019 14:58:46 +0000 (14:58 +0000)]
mgr/dashboard: Dashboard can't handle self-signed cert on Graf… (#31129)

mgr/dashboard: Dashboard can't handle self-signed cert on Grafana API

Reviewed-by: Stephan Müller <smueller@suse.com>
5 years agoqa: add krbd_get_features.t test 31771/head
Ilya Dryomov [Tue, 19 Nov 2019 15:31:35 +0000 (16:31 +0100)]
qa: add krbd_get_features.t test

Run it together with krbd_blkroset.t.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
5 years agomgr/dashboard: open files with UTF-8 encoding in Grafana check… (#31750)
Lenz Grimmer [Thu, 21 Nov 2019 12:51:52 +0000 (12:51 +0000)]
mgr/dashboard: open files with UTF-8 encoding in Grafana check… (#31750)

mgr/dashboard: open files with UTF-8 encoding in Grafana checking script

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agomgr/dashboard: Cross sign button not working for some modals 31783/head
Ricardo Marques [Thu, 21 Nov 2019 11:16:16 +0000 (11:16 +0000)]
mgr/dashboard: Cross sign button not working for some modals

Fixes: https://tracker.ceph.com/issues/42179
Signed-off-by: Ricardo Marques <rimarques@suse.com>
5 years agomds: Reorganize class members in MDSRank header 31120/head
Varsha Rao [Thu, 24 Oct 2019 12:48:35 +0000 (18:18 +0530)]
mds: Reorganize class members in MDSRank header

Fixes: https://tracker.ceph.com/issues/42465
Signed-off-by: Varsha Rao <varao@redhat.com>
5 years agoqa/standalone/test_ceph_daemon.sh: remove old vg before creating 31748/head
Sage Weil [Thu, 21 Nov 2019 00:25:09 +0000 (18:25 -0600)]
qa/standalone/test_ceph_daemon.sh: remove old vg before creating

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoqa/standalone/test_ceph_daemon.sh: sudo for untar
Sage Weil [Wed, 20 Nov 2019 18:40:45 +0000 (12:40 -0600)]
qa/standalone/test_ceph_daemon.sh: sudo for untar

The deepsea.tgz tar contains actual device nodes for the OSD block devices
(not symlinks or files).  Must be root to untar.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoqa/standalone/test_ceph_daemon.sh: sudo for losetup etc
Sage Weil [Wed, 20 Nov 2019 17:31:19 +0000 (11:31 -0600)]
qa/standalone/test_ceph_daemon.sh: sudo for losetup etc

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoqa/standalone/test_ceph_daemon.sh: fix overwrites of temp files
Sage Weil [Wed, 20 Nov 2019 02:41:17 +0000 (20:41 -0600)]
qa/standalone/test_ceph_daemon.sh: fix overwrites of temp files

mktemp creates these files, so we have to pass --allow-overwrite (or
delete them after we get the unique name but before we write to them--this
is easier).

Broken by c7fe27a72a61d1345a66b8830fd17e7b922abd44

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge PR #31418 into master
Patrick Donnelly [Wed, 20 Nov 2019 23:34:02 +0000 (15:34 -0800)]
Merge PR #31418 into master

* refs/pull/31418/head:
test: use distinct subvolume/group/snapshot names

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge PR #30553 into master
Patrick Donnelly [Wed, 20 Nov 2019 23:31:33 +0000 (15:31 -0800)]
Merge PR #30553 into master

* refs/pull/30553/head:
qa/tasks: check if fs mounted in umount_wait

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #31534 into master
Patrick Donnelly [Wed, 20 Nov 2019 23:26:09 +0000 (15:26 -0800)]
Merge PR #31534 into master

* refs/pull/31534/head:
mds: fix invalid access of mdr->dn[0].back()

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #31548 into master
Patrick Donnelly [Wed, 20 Nov 2019 23:24:56 +0000 (15:24 -0800)]
Merge PR #31548 into master

* refs/pull/31548/head:
mds: properly evaluate unstable locks when evicting client

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #31531 into master
Patrick Donnelly [Wed, 20 Nov 2019 22:55:42 +0000 (14:55 -0800)]
Merge PR #31531 into master

* refs/pull/31531/head:
cmake: link ceph-fuse against librt

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoqa: kernel.sh: update for read-only changes 31773/head
Ilya Dryomov [Mon, 18 Nov 2019 17:15:10 +0000 (18:15 +0100)]
qa: kernel.sh: update for read-only changes

Snapshot existence validation code was removed from krbd.  It was racy
and relied on having watch established for snapshots.

Fixes: https://tracker.ceph.com/issues/42916
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
5 years agocrimson: avoid seastar::do_with() due to performance reasons. 30387/head
Radoslaw Zarzynski [Thu, 17 Oct 2019 22:22:44 +0000 (00:22 +0200)]
crimson: avoid seastar::do_with() due to performance reasons.

`seastar::do_with(T&& rvalue, F&& f) takes object for lifetime
extension by rvalue reference. This imposes materialization of
a temporary to move from even when `do_with()` is being called
like:

  `do_with(OpsExecuter{...}, [] { /* ... */)`.

The reason behind that is following language rule:

  "Temporary objects are created when a prvalue is materialized
  so that it can be used as a glvalue, which occurs (since C++17)
  in the following situations:

   * binding a reference to a prvalue"
  (from: "Temporary object lifetime", cppreference.com)

As OpsExecuter is pretty heavy-weight, it is reasonable to avoid
`do_with()` and perform the lifetime extension with smart pointer.
Additional benefit is squeezing plain-to-errorated conversion in
`seastar::internal::do_with_state::get_future()`.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: OpsExecuter::submit_changes() operates on errorated future.
Radoslaw Zarzynski [Thu, 17 Oct 2019 09:05:45 +0000 (11:05 +0200)]
crimson: OpsExecuter::submit_changes() operates on errorated future.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: introduce make_exception_future to errorator.
Radoslaw Zarzynski [Tue, 15 Oct 2019 22:32:13 +0000 (00:32 +0200)]
crimson: introduce make_exception_future to errorator.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: drop extra copy in errorator's appliance.
Radoslaw Zarzynski [Sun, 29 Sep 2019 20:28:57 +0000 (22:28 +0200)]
crimson: drop extra copy in errorator's appliance.

Save few unneeded instructions on the read path. I expect
negligible impact on performance. The patch is rather for
easier reading of assembler.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: dissect error handling path from ::safe_then().
Radoslaw Zarzynski [Sun, 29 Sep 2019 01:49:32 +0000 (03:49 +0200)]
crimson: dissect error handling path from ::safe_then().

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: drop ceph::do_with(). Specialize sestar::do_with() instead.
Radoslaw Zarzynski [Thu, 17 Oct 2019 08:56:22 +0000 (10:56 +0200)]
crimson: drop ceph::do_with(). Specialize sestar::do_with() instead.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: specialize seastar::futurize to avoid copying.
Radoslaw Zarzynski [Sun, 29 Sep 2019 13:02:38 +0000 (15:02 +0200)]
crimson: specialize seastar::futurize to avoid copying.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: _load_{os,ss} return errorated future to avoid copying.
Radoslaw Zarzynski [Thu, 17 Oct 2019 09:05:05 +0000 (11:05 +0200)]
crimson: _load_{os,ss} return errorated future to avoid copying.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: drop as_plain_future() from errorated futures.
Radoslaw Zarzynski [Sun, 29 Sep 2019 13:02:06 +0000 (15:02 +0200)]
crimson: drop as_plain_future() from errorated futures.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: replace make_plain_exception_future() with errorize{}.
Radoslaw Zarzynski [Thu, 26 Sep 2019 22:09:51 +0000 (00:09 +0200)]
crimson: replace make_plain_exception_future() with errorize{}.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: clean-up errorator's error set checks.
Radoslaw Zarzynski [Thu, 26 Sep 2019 11:43:39 +0000 (13:43 +0200)]
crimson: clean-up errorator's error set checks.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson/osd: apply errorator along the stat path.
Radoslaw Zarzynski [Tue, 24 Sep 2019 19:49:48 +0000 (21:49 +0200)]
crimson/osd: apply errorator along the stat path.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: introduce passing-further variant of safe_then() to errorator.
Radoslaw Zarzynski [Tue, 24 Sep 2019 18:48:18 +0000 (20:48 +0200)]
crimson: introduce passing-further variant of safe_then() to errorator.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson/osd: switch small occurances of throwing to errorator.
Radoslaw Zarzynski [Tue, 24 Sep 2019 18:23:20 +0000 (20:23 +0200)]
crimson/osd: switch small occurances of throwing to errorator.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson/osd: apply errorator along the get_object_state() path.
Radoslaw Zarzynski [Tue, 24 Sep 2019 17:35:00 +0000 (19:35 +0200)]
crimson/osd: apply errorator along the get_object_state() path.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: avoid plainifying/errorating in crimson::for_for_each().
Radoslaw Zarzynski [Thu, 17 Oct 2019 15:45:22 +0000 (17:45 +0200)]
crimson: avoid plainifying/errorating in crimson::for_for_each().

We don't want to convert between `errorator::future` and
`seastar::future` back and forth due to performance penalty.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: implement ceph::do_{for_each(),do_with()} helpers.
Radoslaw Zarzynski [Mon, 23 Sep 2019 22:01:08 +0000 (00:01 +0200)]
crimson: implement ceph::do_{for_each(),do_with()} helpers.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson/osd: apply errorator to op-taking PGBackend::getxattr().
Radoslaw Zarzynski [Mon, 23 Sep 2019 17:18:29 +0000 (19:18 +0200)]
crimson/osd: apply errorator to op-taking PGBackend::getxattr().

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson/osd: apply the errorator along execute_osd_op() path.
Radoslaw Zarzynski [Mon, 23 Sep 2019 15:45:10 +0000 (17:45 +0200)]
crimson/osd: apply the errorator along execute_osd_op() path.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson/osd: delegate executing osd op in objclass.
Radoslaw Zarzynski [Mon, 23 Sep 2019 17:04:22 +0000 (19:04 +0200)]
crimson/osd: delegate executing osd op in objclass.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: add support for unificating errorators into compounds.
Radoslaw Zarzynski [Mon, 23 Sep 2019 15:15:47 +0000 (17:15 +0200)]
crimson: add support for unificating errorators into compounds.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: deduplicate errorator's error set.
Radoslaw Zarzynski [Fri, 20 Sep 2019 19:24:30 +0000 (21:24 +0200)]
crimson: deduplicate errorator's error set.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: use std::error_code instances for errors.
Radoslaw Zarzynski [Fri, 20 Sep 2019 11:33:08 +0000 (13:33 +0200)]
crimson: use std::error_code instances for errors.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: unthrowable_wrapper::handle() accepts type-taking lambda.
Radoslaw Zarzynski [Fri, 20 Sep 2019 11:32:37 +0000 (13:32 +0200)]
crimson: unthrowable_wrapper::handle() accepts type-taking lambda.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson/osd: erroratorize the do_op_call() path more.
Radoslaw Zarzynski [Wed, 18 Sep 2019 15:25:55 +0000 (17:25 +0200)]
crimson/osd: erroratorize the do_op_call() path more.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson/osd: apply errorator to do_op_call() path.
Radoslaw Zarzynski [Tue, 17 Sep 2019 18:33:00 +0000 (20:33 +0200)]
crimson/osd: apply errorator to do_op_call() path.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: introduce make_plain_exception_future() to errorator.
Radoslaw Zarzynski [Tue, 17 Sep 2019 18:31:40 +0000 (20:31 +0200)]
crimson: introduce make_plain_exception_future() to errorator.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: introduce stateful errors to errorator.
Radoslaw Zarzynski [Tue, 17 Sep 2019 18:31:26 +0000 (20:31 +0200)]
crimson: introduce stateful errors to errorator.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson/osd: handle attr retrieval errors with all_same_way().
Radoslaw Zarzynski [Sun, 15 Sep 2019 15:18:33 +0000 (17:18 +0200)]
crimson/osd: handle attr retrieval errors with all_same_way().

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: introduce all_same_way() to errorator.
Radoslaw Zarzynski [Sun, 15 Sep 2019 15:17:45 +0000 (17:17 +0200)]
crimson: introduce all_same_way() to errorator.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: don't allocate exception_ptr when returning error code.
Radoslaw Zarzynski [Sun, 15 Sep 2019 14:01:39 +0000 (16:01 +0200)]
crimson: don't allocate exception_ptr when returning error code.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: formalize the interface between errors and errorators.
Radoslaw Zarzynski [Sun, 15 Sep 2019 13:39:55 +0000 (15:39 +0200)]
crimson: formalize the interface between errors and errorators.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson/osd: apply errorator along the read path, part 5.
Radoslaw Zarzynski [Fri, 13 Sep 2019 22:43:57 +0000 (00:43 +0200)]
crimson/osd: apply errorator along the read path, part 5.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: rework discarding errors in errorator.
Radoslaw Zarzynski [Fri, 13 Sep 2019 22:42:53 +0000 (00:42 +0200)]
crimson: rework discarding errors in errorator.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: introduce syntactic sugar for visiting errorator.
Radoslaw Zarzynski [Thu, 12 Sep 2019 23:02:56 +0000 (01:02 +0200)]
crimson: introduce syntactic sugar for visiting errorator.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: migrate make_error<T> to unthrowable_wrapper.
Radoslaw Zarzynski [Thu, 12 Sep 2019 22:57:34 +0000 (00:57 +0200)]
crimson: migrate make_error<T> to unthrowable_wrapper.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: abstract the error type in unthrowable_wrapper.
Radoslaw Zarzynski [Thu, 12 Sep 2019 22:40:28 +0000 (00:40 +0200)]
crimson: abstract the error type in unthrowable_wrapper.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: decouple errorator from unthrowable_wrapper.
Radoslaw Zarzynski [Thu, 12 Sep 2019 22:39:40 +0000 (00:39 +0200)]
crimson: decouple errorator from unthrowable_wrapper.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agocrimson: decouple errorator from unthrowable_wrapper::instance.
Radoslaw Zarzynski [Thu, 12 Sep 2019 12:34:01 +0000 (14:34 +0200)]
crimson: decouple errorator from unthrowable_wrapper::instance.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>