Commit Graph

104738 Commits

Author SHA1 Message Date
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
Radoslaw Zarzynski
b1203dbed1 crimson: add more static asserts to errorator.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:28 +01:00
Radoslaw Zarzynski
99abd4f60f crimson: dissect maybe_handler_error_t from errorator template.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:28 +01:00
Radoslaw Zarzynski
0869ade24f crimson/osd: apply errorator along the read path, part 4.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:27 +01:00
Radoslaw Zarzynski
6aa39ae861 crimson: let an errorator to be converted into more errorated one.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:36:17 +01:00
Radoslaw Zarzynski
0d47d06b82 crimson/osd: apply errorator along the read path, part 3.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:36:17 +01:00
Radoslaw Zarzynski
5a7dbf03ef crimson: facilitate errorator extending with new errors.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:36:16 +01:00
Radoslaw Zarzynski
850a236009 crimson/osd: apply errorator along the read path, part 2.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:36:16 +01:00
Radoslaw Zarzynski
0494b02fc5 crimson/os, crimson/osd: apply errorator along the read path, part 1.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:36:15 +01:00
Radoslaw Zarzynski
ca7fb16bff crimson: bring discard_all{} to errorator.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:35:15 +01:00
Radoslaw Zarzynski
8c212763e8 crimson: bring compile time-verified chaining of errorators.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:35:14 +01:00
Radoslaw Zarzynski
0d069f46af crimson/osd: dissect crc checking on reads into separated procedure.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:33:56 +01:00
Radoslaw Zarzynski
71864a95a3 crimson/os: alias errorator for CyanStore::get_attrs().
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:33:56 +01:00
Radoslaw Zarzynski
ef9e52300f crimson/os: drop the old FuturizedStore::Exception class.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:33:56 +01:00
Radoslaw Zarzynski
a7e44dbe15 crimson: bring crimson::errorator with its first appliance.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:33:55 +01:00
Ilya Dryomov
366a369c8d qa: krbd_blkroset.t: update for read-only changes
If an image is mapped read-only, setting its partition(s) to read-write
via BLKROSET is no longer allowed.

Add read-only OSD caps test cases.

Fixes: https://tracker.ceph.com/issues/42915
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-11-20 19:53:23 +01:00
Sage Weil
15b37e0f4e Merge PR #31745 into master
* refs/pull/31745/head:
	qa/suites/rados/thrash-old-clients: skip TestClsRbd.mirror

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-11-20 11:44:34 -06:00
Kefu Chai
86a722b911 cmake: include ${fmt_INCLUDE_DIR} instead
we should not hardwire the include path to the fmt submodule,
there is chance that we are using libfmt installed in system.

in my case, crimson fails to link because the the ABI of libfmt
is not compatible with that of libfmt included as a submodule

: && ccache /usr/bin/g++-9 .... \
 -o bin/crimson-osd  -Wl,-rpath,::::::::::::::::::: lib/libcrimson-common.a lib/libcrimson-os.a lib/libcrimson.a \
  .... \
  /usr/lib/x86_64-linux-gnu/libfmt.a \
  ...

/usr/bin/ld: src/crimson/osd/CMakeFiles/crimson-osd.dir/main.cc.o: in function `void fmt::v5::basic_writer<fmt::v5::back_insert_range<fmt::v5::internal::basic_buffer<char> >
>::write_double<double>(double, fmt::v5::basic_format_specs<char
> const&)':
/var/ssd/ceph/build/../src/fmt/include/fmt/format.h:2822: undefined reference to `bool fmt::v5::internal::grisu2_format<double, 0>(double, fmt::v5::internal::basic_buffer<char>&, int, bool, int&)'
/usr/bin/ld: src/crimson/osd/CMakeFiles/crimson-osd.dir/main.cc.o: in function `void fmt::v5::basic_writer<fmt::v5::back_insert_range<fmt::v5::internal::basic_buffer<char> > >::write_double<long
double>(long double, fmt::v5::basic_format_
specs<char> const&)':
/var/ssd/ceph/build/../src/fmt/include/fmt/format.h:2822: undefined reference to `bool fmt::v5::internal::grisu2_format<double, 0>(double, fmt::v5::internal::basic_buffer<char>&, int, bool, int&)'
/usr/bin/ld: src/crimson/osd/CMakeFiles/crimson-osd.dir/osd.cc.o: in function `void fmt::v5::basic_writer<fmt::v5::output_range<std::back_insert_iterator<fmt::v5::internal::basic_buffer<char> >, char>
>::write_double<double>(double, fmt::
v5::basic_format_specs<char> const&)':
/var/ssd/ceph/build/../src/fmt/include/fmt/format.h:2822: undefined reference to `bool fmt::v5::internal::grisu2_format<double, 0>(double, fmt::v5::internal::basic_buffer<char>&, int, bool, int&)'
/usr/bin/ld: src/crimson/osd/CMakeFiles/crimson-osd.dir/osd.cc.o: in function `void fmt::v5::basic_writer<fmt::v5::output_range<std::back_insert_iterator<fmt::v5::internal::basic_buffer<char> >, char>
>::write_double<long double>(long dou
ble, fmt::v5::basic_format_specs<char> const&)':
/var/ssd/ceph/build/../src/fmt/include/fmt/format.h:2822: undefined reference to `bool fmt::v5::internal::grisu2_format<double, 0>(double, fmt::v5::internal::basic_buffer<char>&, int, bool, int&)'
collect2: error: ld returned 1 exit status

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-11-21 00:35:52 +08:00
Mykola Golub
840fc07b59
Merge pull request #31392 from dillaman/wip-42598
journal: fix flush by age and in-flight byte tracking

Reviewed-by: Mykola Golub <mgolub@suse.com>
2019-11-20 18:31:13 +02:00
Tiago Melo
a6e77b598a mgr/dashboard: Use new ImageSpec class
This class should be used when dealing with RBD image specs.
It allows the creation of an ImageSpec given the names of the pool, image and
namespace. Alternatively you can also create one with an already existing
image spec string.

With it you keep the access to each individual component and can also convert it
to a well formated string.

Fixes: https://tracker.ceph.com/issues/42787

Signed-off-by: Tiago Melo <tmelo@suse.com>
2019-11-20 14:20:13 -01:00
Lenz Grimmer
6de9592862
mgr/dashboard: fix restored RBD image naming issue (#31590)
mgr/dashboard: fix restored RBD image naming issue

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
2019-11-20 14:33:48 +00:00
Sebastian Wagner
754f53651a
Merge pull request #31758 from votdev/fix_typo
python-common: Fix typo in device type

Reviewed-by: Joshua Schmid <jschmid@suse.de>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-11-20 15:27:52 +01:00
Sebastian Krah
5efe0a3ab2 mgr/dashboard: Don't use any xlf file when building the default language
The build-i18n script no longer uses a xlf file when building the default
language. This means that we don't need to keep the messages.en-US.xlf in the repository anymore.

Fixes: https://tracker.ceph.com/issues/42693
Signed-off-by: Sebastian Krah <skrah@suse.com>
2019-11-20 14:17:19 +01:00
Jan Fajerski
2da7330e7e
Merge pull request #31410 from jan--f/c-v-create-vgs-on-demand
ceph-volume: allow raw block devices everywhere
2019-11-20 13:45:41 +01:00
Lenz Grimmer
3b8f661389
mgr/dashboard: Fixes removal of custom tags during pool edit (#31373)
mgr/dashboard: Fixes removal of custom tags during pool edit

Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
2019-11-20 12:34:43 +00:00