Commit Graph

104870 Commits

Author SHA1 Message Date
Venky Shankar
bbbfb44453 pybind / cephfs: remove static typing in LibCephFS.chown
The routine does type checking anyway, plus, to be uniform
with other APIs.

Fixes: http://tracker.ceph.com/issues/42923
Signed-off-by: Venky Shankar <vshankar@redhat.com>
2019-11-20 23:23:09 -05:00
Sage Weil
07193aec3a qa/standalone/test_ceph_daemon.sh: remove old vg before creating
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-20 18:27:31 -06:00
Sage Weil
fd6bfad498 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>
2019-11-20 18:27:31 -06:00
Sage Weil
723fdb111a qa/standalone/test_ceph_daemon.sh: sudo for losetup etc
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-20 18:27:31 -06:00
Sage Weil
cb67545e99 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 c7fe27a72a

Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-20 18:27:31 -06:00
Patrick Donnelly
e4b3036422
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>
2019-11-20 15:34:02 -08:00
Patrick Donnelly
5a0fa12513
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>
2019-11-20 15:31:33 -08:00
Patrick Donnelly
23a15c9be4
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>
2019-11-20 15:26:09 -08:00
Patrick Donnelly
e799c2533c
Merge PR #31548 into master
* refs/pull/31548/head:
	mds: properly evaluate unstable locks when evicting client

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2019-11-20 15:24:56 -08:00
Patrick Donnelly
6a55fd1106
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>
2019-11-20 14:55:42 -08:00
Ilya Dryomov
6fb544045e 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>
2019-11-20 21:32:45 +01:00
Radoslaw Zarzynski
ea78fa29ae 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>
2019-11-20 20:37:45 +01:00
Radoslaw Zarzynski
f039e3a9d7 crimson: OpsExecuter::submit_changes() operates on errorated future.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:45 +01:00
Radoslaw Zarzynski
bc61111bd0 crimson: introduce make_exception_future to errorator.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:45 +01:00
Radoslaw Zarzynski
86dd0e1570 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>
2019-11-20 20:37:45 +01:00
Radoslaw Zarzynski
60bceaba7f crimson: dissect error handling path from ::safe_then().
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:44 +01:00
Radoslaw Zarzynski
648e61b874 crimson: drop ceph::do_with(). Specialize sestar::do_with() instead.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:44 +01:00
Radoslaw Zarzynski
01fff77895 crimson: specialize seastar::futurize to avoid copying.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:44 +01:00
Radoslaw Zarzynski
3e621e4e1b crimson: _load_{os,ss} return errorated future to avoid copying.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:44 +01:00
Radoslaw Zarzynski
dc09e1a130 crimson: drop as_plain_future() from errorated futures.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:44 +01:00
Radoslaw Zarzynski
ae83ae6b68 crimson: replace make_plain_exception_future() with errorize{}.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:44 +01:00
Radoslaw Zarzynski
4f042c9bfb crimson: clean-up errorator's error set checks.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:44 +01:00
Radoslaw Zarzynski
d74f26363a crimson/osd: apply errorator along the stat path.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:43 +01:00
Radoslaw Zarzynski
213c631c06 crimson: introduce passing-further variant of safe_then() to errorator.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:43 +01:00
Radoslaw Zarzynski
3e0ae6c077 crimson/osd: switch small occurances of throwing to errorator.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:43 +01:00
Radoslaw Zarzynski
e3763c2ae9 crimson/osd: apply errorator along the get_object_state() path.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:43 +01:00
Radoslaw Zarzynski
362ab5b7ce 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>
2019-11-20 20:37:43 +01:00
Radoslaw Zarzynski
7b8148ecf9 crimson: implement ceph::do_{for_each(),do_with()} helpers.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:43 +01:00
Radoslaw Zarzynski
bc4ef4bfed crimson/osd: apply errorator to op-taking PGBackend::getxattr().
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:43 +01:00
Radoslaw Zarzynski
d191d4ea12 crimson/osd: apply the errorator along execute_osd_op() path.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:42 +01:00
Radoslaw Zarzynski
db5479d2ee crimson/osd: delegate executing osd op in objclass.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:42 +01:00
Radoslaw Zarzynski
c28d142356 crimson: add support for unificating errorators into compounds.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:42 +01:00
Radoslaw Zarzynski
055291fab8 crimson: deduplicate errorator's error set.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:42 +01:00
Radoslaw Zarzynski
cc49a9e82f crimson: use std::error_code instances for errors.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:42 +01:00
Radoslaw Zarzynski
ee2eaeb2dd crimson: unthrowable_wrapper::handle() accepts type-taking lambda.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:42 +01:00
Radoslaw Zarzynski
d8d0ab1a69 crimson/osd: erroratorize the do_op_call() path more.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:42 +01:00
Radoslaw Zarzynski
7a1eb3d4c5 crimson/osd: apply errorator to do_op_call() path.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:41 +01:00
Radoslaw Zarzynski
b148bdbeec crimson: introduce make_plain_exception_future() to errorator.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:41 +01:00
Radoslaw Zarzynski
bf49cc7ffc crimson: introduce stateful errors to errorator.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:41 +01:00
Radoslaw Zarzynski
1221b899b0 crimson/osd: handle attr retrieval errors with all_same_way().
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:41 +01:00
Radoslaw Zarzynski
de325ade55 crimson: introduce all_same_way() to errorator.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:41 +01:00
Radoslaw Zarzynski
69d6de77ed crimson: don't allocate exception_ptr when returning error code.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:41 +01:00
Radoslaw Zarzynski
85d96eeb50 crimson: formalize the interface between errors and errorators.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:41 +01:00
Radoslaw Zarzynski
12c96d6d0b crimson/osd: apply errorator along the read path, part 5.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:40 +01:00
Radoslaw Zarzynski
847f1785c2 crimson: rework discarding errors in errorator.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:40 +01:00
Radoslaw Zarzynski
dca575992b crimson: introduce syntactic sugar for visiting errorator.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:40 +01:00
Radoslaw Zarzynski
3b2abb1b69 crimson: migrate make_error<T> to unthrowable_wrapper.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:39 +01:00
Radoslaw Zarzynski
b7fec28cf7 crimson: abstract the error type in unthrowable_wrapper.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:29 +01:00
Radoslaw Zarzynski
abbfd9ba88 crimson: decouple errorator from unthrowable_wrapper.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:29 +01:00
Radoslaw Zarzynski
a0c71e0825 crimson: decouple errorator from unthrowable_wrapper::instance.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:28 +01:00