]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Xuehan Xu [Wed, 14 Apr 2021 06:11:19 +0000 (14:11 +0800)]
crimson/os/seastore: limit the max size of objects' ns and oid
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Thu, 8 Apr 2021 10:09:51 +0000 (18:09 +0800)]
test/crimson/seastore: add set/get attrs test
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Thu, 8 Apr 2021 07:24:38 +0000 (15:24 +0800)]
test/crimson/seastore: add write/read_meta tests
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Tue, 6 Apr 2021 08:42:04 +0000 (16:42 +0800)]
crimson/os/seastore: add write/read_meta methods for seastore
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Tue, 30 Mar 2021 10:38:23 +0000 (18:38 +0800)]
crimson/os/seastore: add get/set attr methods
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Kefu Chai [Thu, 22 Apr 2021 07:30:36 +0000 (15:30 +0800)]
Merge pull request #40942 from athanatos/sjust/wip-retired-placeholder
crimson/os/seastore: track retired extents until in-progress transactions complete
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 07:27:54 +0000 (15:27 +0800)]
Merge pull request #40956 from rzarzynski/wip-crimson-depends-on-binutils
ceph.spec.in: crimson depends on binutils b/c of addr2line.
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 06:58:19 +0000 (14:58 +0800)]
Merge pull request #40970 from neha-ojha/wip-delete-some
osd: remove references to _delete_some()
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 06:56:53 +0000 (14:56 +0800)]
Merge pull request #40971 from tchaikov/wip-common-option-osd_erasure_code_plugins
common/options: set default variable of osd_erasure_code_plugins
Reviewed-by: Neha Ojha <nojha@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 06:56:09 +0000 (14:56 +0800)]
Merge pull request #40964 from tchaikov/wip-disable-rook-mgr-module
vstart.sh: disable "rook" mgr module by default
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 06:53:09 +0000 (14:53 +0800)]
Merge pull request #40580 from anthonyeleven/anthonyeleven/clean-up-cephfs-standby
doc/cephfs: refine cephfs/standby
Reviewed-by: Zac Dover <zac.dover@gmail.com>
Samuel Just [Wed, 21 Apr 2021 06:59:46 +0000 (23:59 -0700)]
crimson/os/seastore/cached_extent: fix maybe_generate_relative
The only case we really care about here is that record relative addresses
for initial_pending extents need to be turned into block relative extents.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Mon, 19 Apr 2021 23:48:21 +0000 (16:48 -0700)]
crimson/os/seastore: retain placeholders for retired, uncached extents
We need to track extents retired without first being in cache. Create
RetiredExtentPlaceholder extent type for conflict detection on those
cases.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 16 Apr 2021 23:16:48 +0000 (16:16 -0700)]
crimson/os/seastore: speed up mount with debugging enabled
Logging allocation information really slows down initial mount.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 16 Apr 2021 21:58:07 +0000 (21:58 +0000)]
crimson/os/seastore/cache: check cached extents for is_retired
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 22 Apr 2021 06:15:38 +0000 (23:15 -0700)]
crimson/os/seastore/cache: ensure retired extents remain until transactions complete
Adds a structure to ensure that retired extents remain in the index until
any transactions which might reference them complete.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Mon, 19 Apr 2021 07:39:34 +0000 (00:39 -0700)]
crimson/os/seastore_types: fix NULL_SEG_OFF declaration
Signed-off-by: Samuel Just <sjust@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 06:14:42 +0000 (14:14 +0800)]
Merge pull request #40974 from tchaikov/wip-doc-more-conf-vals
doc/rados/configuration/mon-config-ref: use confval directive
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 06:14:21 +0000 (14:14 +0800)]
Merge pull request #40725 from sseshasa/wip-mclock-internal-doc
doc/dev: Add internal documentation for mclock scheduler
Reviewed-by: Sunny Kumar <sunkumar@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 04:06:26 +0000 (12:06 +0800)]
doc/_ext/ceph_confval: print out option name if it does not render
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 03:31:10 +0000 (11:31 +0800)]
doc/rados/configuration/mon-config-ref: link by ref instead of relative hyperlink
the latter is more fragile.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 03:24:31 +0000 (11:24 +0800)]
doc/rados/configuration/mon-config-ref: use confval directive
for defining options
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 03:05:40 +0000 (11:05 +0800)]
doc/rados/configuration: add missing options
and link to them when appropriate
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 04:08:05 +0000 (12:08 +0800)]
common/options: add description to osd_op_num_shards*
so they can be rendered
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 02:29:18 +0000 (10:29 +0800)]
Merge pull request #40968 from rzarzynski/wip-crimson-only-fix-fwd-in-interruptor
crimson/common: fix forwarding in non_futurized_call_with_interruption().
Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 02:19:16 +0000 (10:19 +0800)]
Merge pull request #40904 from inspur-wyq/patch-3
doc/radosgw/multisite.rst: fix typos
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 22 Apr 2021 02:18:36 +0000 (10:18 +0800)]
Merge pull request #40932 from lyarwood/pybind_rados_connect_timeout
pybind/rados: Document that timeout arg is ignored by connect
Reviewed-by: Kefu Chai <kchai@redhat.com>
Sage Weil [Thu, 22 Apr 2021 02:12:32 +0000 (22:12 -0400)]
Merge PR #40938 into master
* refs/pull/40938/head:
mgr/cephadm: less noise about osd specs
mgr/cephadm: kick serve loop when adding/removing labels
mgr/cephadm: do not place osds on _no_schedule hosts
doc/cephadm: document _no_schedule label
mgr/cephadm: fix 'orch ls' count to reflect schedulable hosts
mgr/cephadm: do not schedule on _no_schedule hosts
Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
Kefu Chai [Thu, 22 Apr 2021 00:02:09 +0000 (08:02 +0800)]
common/options: set default variable of osd_erasure_code_plugins
5ddda38da4f introduced a regression which failed to substitude
osd_erasure_code_plugins's default value with the the corresponding
CMake variable
Signed-off-by: Kefu Chai <kchai@redhat.com>
Sage Weil [Tue, 20 Apr 2021 14:27:40 +0000 (10:27 -0400)]
mgr/cephadm: less noise about osd specs
We don't want this message every time around the serve() loop
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 20 Apr 2021 14:26:08 +0000 (10:26 -0400)]
mgr/cephadm: kick serve loop when adding/removing labels
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 20 Apr 2021 14:08:56 +0000 (10:08 -0400)]
mgr/cephadm: do not place osds on _no_schedule hosts
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 20 Apr 2021 14:07:03 +0000 (10:07 -0400)]
doc/cephadm: document _no_schedule label
Signed-off-by: Sage Weil <sage@newdream.net>
Neha Ojha [Wed, 21 Apr 2021 21:10:41 +0000 (21:10 +0000)]
osd: remove references to _delete_some()
It was replaced by do_delete_work() in
b927419dd40987728684cc773e85130d29d06c39
Signed-off-by: Neha Ojha <nojha@redhat.com>
zdover23 [Wed, 21 Apr 2021 19:23:07 +0000 (05:23 +1000)]
Merge pull request #40969 from zdover23/wip-doc-cephadm-osd-filters-colons-2021-apr-21
doc/cephadm: osd.rst -- removing colons
Reviewed-by: Sage Weil <sweil@redhat.com>
Zac Dover [Wed, 21 Apr 2021 18:14:24 +0000 (04:14 +1000)]
doc/cephadm: osd.rst -- removing colons
This PR removes colons that weren't necessary.
This is a companion PR to PR#40996.
Signed-off-by: Zac Dover <zac.dover@gmail.com>
Mykola Golub [Wed, 21 Apr 2021 18:10:32 +0000 (21:10 +0300)]
Merge pull request #40705 from orozery/libcryptsetup-return-checks
librbd/crypto: fix bad return checks from libcryptsetup
Reviewed-by: Mykola Golub <mgolub@suse.com>
Sage Weil [Wed, 21 Apr 2021 17:35:40 +0000 (13:35 -0400)]
Merge PR #40966 into master
* refs/pull/40966/head:
doc/cephadm: osd: rewrite "additional opts"
Reviewed-by: Sage Weil <sage@redhat.com>
Radoslaw Zarzynski [Wed, 21 Apr 2021 15:34:30 +0000 (15:34 +0000)]
crimson/common: fix forwarding in non_futurized_call_with_interruption().
This commit fixes a memory corruption problem found on the intersection
of `seastar::thread` and `interruptor` by a teuthology job [1].
It turns out to be caused by a use-after-free which happens due to
an issue with type deduction in `non_futurized_call_with_interruption`.
However, it might be beneficial to audit other members of the family too.
If `Result` is deduced to be a non-reference type (i.e. the `Func`
returns e.g. `ceph::bufferlist`), `std::forward<Result>` forwards
it as a r-value reference (`Result&&`). `decltype(auto)` makes this
reference the return type of the entire function which isn't what
we want.
Debugging
=========
Instrumentation
---------------
```diff
--- a/src/crimson/osd/ops_executer.cc
+++ b/src/crimson/osd/ops_executer.cc
@@ -28,6 +28,21 @@ namespace {
namespace crimson::osd {
+struct scope_dbgr {
+ scope_dbgr() {
+ logger().debug("{}:{} on {}", __func__, __LINE__, (void*)this);
+ }
+ scope_dbgr(const scope_dbgr& src) {
+ logger().debug("{}:{} copy on {}; src {}", __func__, __LINE__, (void*)this, (void*)&src);
+ }
+ scope_dbgr(scope_dbgr&& src) noexcept {
+ logger().debug("{}:{} move on {}; src {}", __func__, __LINE__, (void*)this, (void*)&src);
+ }
+ ~scope_dbgr() {
+ logger().debug("{}:{} on {}", __func__, __LINE__, (void*)this);
+ }
+};
+
OpsExecuter::call_ierrorator::future<> OpsExecuter::do_op_call(OSDOp& osd_op)
{
std::string cname, mname;
@@ -84,14 +99,16 @@ OpsExecuter::call_ierrorator::future<> OpsExecuter::do_op_call(OSDOp& osd_op)
ceph::bufferlist outdata;
auto cls_context = reinterpret_cast<cls_method_context_t>(this);
const auto ret = method->exec(cls_context, indata, outdata);
- return std::make_pair(ret, std::move(outdata));
+ logger().debug("do_ops_call: outdata just after exec: {}", outdata);
+ return std::make_tuple(ret, std::move(outdata), scope_dbgr{});
}
).then_interruptible(
[this, prev_rd, prev_wr, &osd_op, flags]
(auto outcome) -> call_errorator::future<> {
- auto& [ret, outdata] = outcome;
+ auto& [ret, outdata, dbgr] = outcome;
osd_op.rval = ret;
-
+ logger().debug("do_ops_call: outdata just after then_interruptible: {}",
+ outdata);
logger().debug("do_op_call: method returned ret={}, outdata.length()={}"
" while num_read={}, num_write={}",
ret, outdata.length(), num_read, num_write);
```
After the fix
-------------
```
DEBUG 2021-04-21 15:32:30,012 [shard 0] bluestore - get_attr
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - do_ops_call: outdata just after exec: buffer::list(len=18,
buffer::ptr(0~18 0x6000000ef000 in raw 0x6000000ef000 len 4000 nref 1)
)
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:33 on 0x60000085feb3
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x60000085ff00; src 0x60000085feb3
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x60000085feb3
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x60000085fed0; src 0x60000085ff00
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x60000085ff00
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x60000085ff40; src 0x60000085fed0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x60000085fed0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x60000015a740; src 0x60000085ff40
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x60000085ff40
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x7ffc4d018df0; src 0x60000015a740
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x60000015a740
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x6000005196d8; src 0x7ffc4d018df0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x7ffc4d018df0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x7ffc4d018df0; src 0x6000005196d8
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x6000005196d8
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x7ffc4d018db0; src 0x7ffc4d018df0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x7ffc4d018df0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x600000807b58; src 0x7ffc4d018db0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x7ffc4d018db0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x7ffc4d018d30; src 0x600000807b58
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - do_ops_call: outdata just after then_interruptible: buffer::list(len=18,
buffer::ptr(0~18 0x6000000ef000 in raw 0x6000000ef000 len 4000 nref 1)
)
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - do_op_call: method returned ret=0, outdata.length()=18 while num_read=1, num_write=0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x7ffc4d018d30
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x600000807b58
```
Before
------
```
DEBUG 2021-04-21 16:06:24,354 [shard 0] bluestore - get_attr
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - do_ops_call: outdata just after exec: buffer::list(len=18,
buffer::ptr(0~18 0x6000000f7000 in raw 0x6000000f7000 len 4000 nref 1)
)
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:33 on 0x60000085fe84
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x60000085fed0; src 0x60000085fe84
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x60000085fe84
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x60000085fed0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x60000085fea0; src 0x60000085fed0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x60000085ff40; src 0x60000085fea0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x60000085fea0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x6000008360b0; src 0x60000085ff40
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x60000085ff40
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x7ffe48b3ee00; src 0x6000008360b0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x6000008360b0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x600000801a38; src 0x7ffe48b3ee00
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x7ffe48b3ee00
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x7ffe48b3ee00; src 0x600000801a38
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x600000801a38
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x7ffe48b3edc0; src 0x7ffe48b3ee00
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x7ffe48b3ee00
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x600000807bf8; src 0x7ffe48b3edc0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x7ffe48b3edc0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x7ffe48b3ed40; src 0x600000807bf8
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - do_ops_call: outdata just after then_interruptible: buffer::list(len=18,
buffer:ptr(0~18 no raw)
)
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - do_op_call: method returned ret=0, outdata.length()=18 while num_read=1, num_write=0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x7ffe48b3ed40
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x600000807bf8
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - do_osd_ops: osd_op(client.4131.0:4 1.e 1:
70fc7f5f :test-rados-api-o06-82166-2::foo:head {call lock.get_info in=31b out=18b}
snapc 0={} ondisk+read+known_if_redirected e6) v8 - object 1:
70fc7f5f :test-rados-api-o06-82166-2::foo:head all operations successful
Reactor stalled for 521 ms on shard 0.
Backtrace:
0x00000000017101b8
0x00000000016d7960
0x00000000016d7edc
0x00000000016d810f
/lib64/libpthread.so.0+0x0000000000012b2f
0x00000000016b563e
0x00000000016b801c
0x00000000016b8504
0x0000000000d68120
```
[1]: http://pulpito.front.sepia.ceph.com/rzarzynski-2021-04-19_12:11:51-rados-master-distro-basic-smithi/
6058778 /
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Zac Dover [Wed, 21 Apr 2021 15:01:01 +0000 (01:01 +1000)]
doc/cephadm: osd: rewrite "additional opts"
This PR rewrites the "Additional Options"
subsection of the OSD chapter of the cephadm
guide.
Signed-off-by: Zac Dover <zac.dover@gmail.com>
zdover23 [Wed, 21 Apr 2021 14:21:38 +0000 (00:21 +1000)]
Merge pull request #40914 from zdover23/wip-doc-cephadm-osd-advanced-up-to-filters-2021-apr-18
doc/cephadm: rewrite "advanced osd s. specs"
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Kefu Chai [Wed, 21 Apr 2021 13:50:21 +0000 (21:50 +0800)]
vstart.sh: disable "rook" mgr module by default
as we don't have "jsonpatch" installed for running "make check", "rook"
module always fails to load, and the error message when mgr is
unable to load is misleading and distracting. let's just disabled it.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 21 Apr 2021 13:47:29 +0000 (21:47 +0800)]
mgr/PyModuleRegistry: use vector<> when appropriate
no need to use a set<string> for storing module name, they are
inherently unique.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Sridhar Seshasayee [Fri, 9 Apr 2021 11:30:03 +0000 (17:00 +0530)]
doc/dev: Add internal documentation for mclock scheduler
The document details the refinements to mclock scheduler and presents the
results of a comparison study performed between the mclock scheduler and
the WPQ scheduler.
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
Or Ozeri [Thu, 8 Apr 2021 17:13:49 +0000 (20:13 +0300)]
librbd/crypto: fix bad return checks from libcryptsetup
This commit fixes the return checks for libcryptsetup functions
that may return non-zero success codes.
Fixes: https://tracker.ceph.com/issues/50461
Signed-off-by: Or Ozeri <oro@il.ibm.com>
Radoslaw Zarzynski [Wed, 21 Apr 2021 09:37:20 +0000 (09:37 +0000)]
ceph.spec.in: crimson depends on binutils b/c of addr2line.
This small utility is needed due to the backtrace processing.
See:
d3dcf510c35228a525311732fa5f7385c4a736ba .
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Yuval Lifshitz [Wed, 21 Apr 2021 08:39:03 +0000 (11:39 +0300)]
Merge pull request #40935 from TRYTOBE8TME/wip-rgw-bootstrap-fix
test/rgw: Removing unrecognized option from bootstrap file
Kefu Chai [Wed, 21 Apr 2021 06:12:57 +0000 (14:12 +0800)]
Merge pull request #40953 from tchaikov/wip-doc-confval
common/options,doc/rados/configuration: extract crimson options, use confval directive
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Kefu Chai [Wed, 21 Apr 2021 05:32:35 +0000 (13:32 +0800)]
doc/conf.py: use glob.glob() to find .yaml.in files
improve the maintainability of .yaml.in files.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 21 Apr 2021 05:28:52 +0000 (13:28 +0800)]
cmake: use file(GLOB ..) to find .yaml.in files
instead of hardcode the option file names, use file(GLOB ..) to find
and collect them instead, for better maintainability.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 21 Apr 2021 04:46:22 +0000 (12:46 +0800)]
common/optinos: extract crimson options out
prepare for the change to split the options by services
in future, osd will have its own osd.yaml.in, while crimson will consume
both osd.yaml.in and crimson.yaml.in.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 21 Apr 2021 04:36:43 +0000 (12:36 +0800)]
doc/rados/configuration/mon-config-ref: use confval directive
for defining options
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 21 Apr 2021 04:22:53 +0000 (12:22 +0800)]
doc/rados/configuration/general-config-ref: use confval directive
for defining options
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 21 Apr 2021 04:13:14 +0000 (12:13 +0800)]
doc/rados/configuration/osd-config-ref: use confval directive
for defining options
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 21 Apr 2021 03:54:32 +0000 (11:54 +0800)]
Merge pull request #40915 from rzarzynski/wip-crimson-backtrace-3
crimson: make backtraces more human-readable with boost::stacktrace and addr2line
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 21 Apr 2021 02:15:46 +0000 (10:15 +0800)]
Merge pull request #40939 from tchaikov/wip-doc-confval
doc/rados/configuration/osd-config-ref: use confval directive
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Kalpesh [Tue, 20 Apr 2021 11:07:29 +0000 (16:37 +0530)]
src/test: Removing unrecognized option from bootstrap file
Removing '--distribute' option from a command in bootstrap file which seemed to be the reason of failure in:
http://qa-proxy.ceph.com/teuthology/dang-2021-04-19_12:28:43-rgw-wip-dang-zipper-sysobj-distro-basic-smithi/
6059513 /teuthology.log
Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
Patrick Donnelly [Tue, 20 Apr 2021 21:01:32 +0000 (14:01 -0700)]
Merge PR #39742 into master
* refs/pull/39742/head:
client: make Inode to inherit from RefCountedObject
client: minor cleanup to Inode class to simplify the code
client: minor cleanup to Inode related code
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Daniel Gryniewicz [Tue, 20 Apr 2021 18:19:47 +0000 (14:19 -0400)]
Merge pull request #40191 from dang/wip-dang-zipper-sysobj
RGW Zipper - Remove rgw_pool from API
Samuel Just [Mon, 19 Apr 2021 07:36:28 +0000 (00:36 -0700)]
crimson/os/seastore/cache: factor out remove_from_dirty
Signed-off-by: Samuel Just <sjust@redhat.com>
Sage Weil [Tue, 20 Apr 2021 14:01:33 +0000 (10:01 -0400)]
mgr/cephadm: fix 'orch ls' count to reflect schedulable hosts
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 20 Apr 2021 14:01:22 +0000 (10:01 -0400)]
mgr/cephadm: do not schedule on _no_schedule hosts
Reuse and rename existing helper to return schedulable hosts.
Signed-off-by: Sage Weil <sage@newdream.net>
Kefu Chai [Mon, 19 Apr 2021 15:28:49 +0000 (23:28 +0800)]
doc/rados/configuration/osd-config-ref: use confval directive
for defining options
Signed-off-by: Kefu Chai <kchai@redhat.com>
Lee Yarwood [Tue, 20 Apr 2021 09:59:29 +0000 (10:59 +0100)]
pybind/rados: Document that timeout arg is ignored by connect
While this argument is accepted it has always been ignored. To avoid
confusion it should at least be called out in the documentation.
Signed-off-by: Lee Yarwood <lyarwood@redhat.com>
Ilya Dryomov [Tue, 20 Apr 2021 08:46:29 +0000 (10:46 +0200)]
Merge pull request #40928 from idryomov/wip-gid-reclaim-notes
doc: 14.2.20, 15.2.11 and 16.2.1 releases and notes (CVE-2021-20288)
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Ilya Dryomov [Tue, 20 Apr 2021 08:05:28 +0000 (10:05 +0200)]
doc/releases/index: update for 14.2.20, 15.2.11 and 16.2.1
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Kefu Chai [Tue, 20 Apr 2021 07:02:49 +0000 (15:02 +0800)]
Merge pull request #40877 from mgfritch/doc-rgw-python3-print
doc/rgw: update to python3 print syntax
Reviewed-by: Kefu Chai <kchai@redhat.com>
Samuel Just [Thu, 15 Apr 2021 08:56:36 +0000 (08:56 +0000)]
crimson/os/seastore/cache: swap dirty_from users to get_dirty_from()
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 15 Apr 2021 08:38:07 +0000 (01:38 -0700)]
crimson/os/seastore: route all transaction creations through cache
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 20 Apr 2021 06:50:22 +0000 (23:50 -0700)]
Merge pull request #40846 from athanatos/sjust/wip-object-data
seastore: initial object data support
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Kefu Chai [Tue, 20 Apr 2021 00:03:48 +0000 (08:03 +0800)]
Merge pull request #40911 from tchaikov/wip-doc-confval
doc/rados/configuration/auth-config-ref: drop section of keyrings
Reviewed-by: Sage Weil <sage@redhat.com>
Zac Dover [Mon, 19 Apr 2021 14:38:44 +0000 (00:38 +1000)]
doc/cephadm: rewrite "advanced osd s. specs"
This PR improves the readbility and elegance of
the "Advanced OSD Service Specifications" section
of the OSD chapter of the cephadm guide.
Signed-off-by: Zac Dover <zac.dover@gmail.com>
Radoslaw Zarzynski [Mon, 19 Apr 2021 14:41:37 +0000 (14:41 +0000)]
crimson/common: do backtrace via boost::stackstrace and addr2line.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Mon, 19 Apr 2021 14:32:05 +0000 (14:32 +0000)]
crimson/common: don't use Seastar's handle_signal() for fatal signals.
The `handle_signal()` way requires going through the reactor, and
thus is unsuitable for situations when it's no longer operational.
SIGSEGV generated as a result of actual fault (not `kill()`) is
the intended audience of this change.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Mon, 19 Apr 2021 13:59:25 +0000 (13:59 +0000)]
crimson/common: let's dump the core on fatal signal.
Removing the call to engine's `exit()` should allow the singnal
handler to exit. In the case of `SIGSEGV` this would return back
to the problematic instruction, and thus retrigger the fault.
As our handler already restores `SIG_DFL`, it's expected to get
a core dump.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Kefu Chai [Tue, 8 Sep 2020 05:44:44 +0000 (13:44 +0800)]
crimson/osd: handle fatal signals
seastar sets the signal handler for SIGSEGV and SIGABRT, and its signal
handler prints the stacktrace, but the the stack frames are adresses,
which are not human readable without the help of addr2line.
since crimson is linked with -rdynamic option, we have the symbols added
to the dynamic symbol table already. let print out the symbolized
addresses instead using our own stacktrace utility.
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit
6e26243b6db49bb9813f8b8aeade68da07dc6065 )
Conflicts:
src/crimson/osd/main.cc
Kefu Chai [Mon, 19 Apr 2021 14:09:52 +0000 (22:09 +0800)]
doc/man/8/ceph-authtool: fix the indent of option
Signed-off-by: Kefu Chai <kchai@redhat.com>
Ernesto Puerta [Mon, 19 Apr 2021 14:09:39 +0000 (16:09 +0200)]
Merge pull request #40899 from malcolmholmes/malcolmholmes/fix-json-dashboard-error
mgr/Dashboard: Remove erroneous elements in hosts-overview Grafana dashboard
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: p-se <NOT@FOUND>
Kefu Chai [Mon, 19 Apr 2021 14:06:27 +0000 (22:06 +0800)]
Merge pull request #40898 from rzarzynski/wip-crimson-only-mgrclt-noconn-report
crimson/mgr: don't report if there is no connection available.
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Mon, 19 Apr 2021 13:56:14 +0000 (21:56 +0800)]
doc/rados/configuration/mon-config-ref: use confval directive
for defining options
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Mon, 19 Apr 2021 13:45:05 +0000 (21:45 +0800)]
doc/rados/configuration/auth-config-ref: drop section of keyrings
as per Sage, the caps are out of date (should be based on profiles) and
the keyring locations aren't useful information
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Mon, 19 Apr 2021 13:43:43 +0000 (21:43 +0800)]
Merge pull request #40897 from tchaikov/wip-doc-more-conf-vals
doc/rados/configuration: use confval directive to define options.
Reviewed-by: Reviewed-by: Sage Weil <sage@redhat.com>
Daniel Gryniewicz [Wed, 17 Mar 2021 13:22:22 +0000 (09:22 -0400)]
RGW Zipper - Remove rgw_pool/sysobj from API
rgw_pool and sysobj are part of the RADOS backend, and do not belong in
the API. Instead, pull the objects using them into the API. These are:
RGWOIDCProvider, RGWRole, and a new object LuaScript.
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
Ilya Dryomov [Mon, 19 Apr 2021 13:40:21 +0000 (15:40 +0200)]
Merge pull request #40905 from idryomov/wip-rbd-kms-config-map-doc
doc/rbd/rbd-kubernetes: update for recent ceph-csi versions
Reviewed-by: Madhu Rajanna <madhupr007@gmail.com>
Reviewed-by: Sage Weil <sage@redhat.com>
zdover23 [Mon, 19 Apr 2021 13:03:21 +0000 (23:03 +1000)]
Merge pull request #40378 from zdover23/wip-doc-cephadm-osd-declarative-state-rewrite-2021-Mar-25
doc/cephadm: rewrite "delcarative state" in osd.rst
Reviewed-by: Sage Weil <sweil@redhat.com>
Sage Weil [Mon, 19 Apr 2021 12:30:42 +0000 (08:30 -0400)]
Merge PR #40817 into master
* refs/pull/40817/head:
mgr/MgrStandby: fix config observer
mgr/MgrStandby: respawn if mgr_standby_modules changes
qa/tasks/mgr/test_dashboard: skip test_standby if mgr_standby_modules=false
qa/suites/rados/cephadm/smoke-*: use cephadm.wait_for_service
qa/suites/rados/cephadm/smoke-singlehost: test --single-host-defaults
cephadm: add --single-host-defaults option to bootstrap
mgr/cephadm: allow mgr colo if mgr_standby_modules=false
mgr/MgrStandby: add mgr_standby_modules option
Reviewed-by: Sebastian Wagner <swagner@suse.com>
Sage Weil [Mon, 19 Apr 2021 12:30:11 +0000 (08:30 -0400)]
Merge PR #40893 into master
* refs/pull/40893/head:
mgr/cephadm: don't list non ceph daemons as needing upgrade in upgrade check
Reviewed-by: Sage Weil <sage@redhat.com>
Matt Benjamin [Mon, 19 Apr 2021 11:37:29 +0000 (07:37 -0400)]
Merge pull request #37730 from thotz/rgwkmsvaultsslsupport
rgw: extending existing ssl support for vault KMS
Kefu Chai [Mon, 19 Apr 2021 10:54:40 +0000 (18:54 +0800)]
Merge pull request #40881 from tchaikov/wip-50393
qa/workunits/mon/test_mon_config_key: use subprocess.run() instead of…
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Ilya Dryomov [Mon, 19 Apr 2021 09:08:22 +0000 (11:08 +0200)]
doc/rbd/rbd-kubernetes: expose volume expansion functionality
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov [Mon, 19 Apr 2021 07:37:01 +0000 (09:37 +0200)]
doc/rbd/rbd-kubernetes: imageFeatures is required
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov [Mon, 19 Apr 2021 07:37:01 +0000 (09:37 +0200)]
doc/rbd/rbd-kubernetes: mention KMS config map
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Kefu Chai [Mon, 19 Apr 2021 09:24:55 +0000 (17:24 +0800)]
doc/rados/configuration/mon-config-ref: use confval directive
for defining options
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Mon, 19 Apr 2021 06:37:34 +0000 (14:37 +0800)]
doc/rados/configuration/msgr2: use confval directive
for defining options
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Mon, 19 Apr 2021 06:28:02 +0000 (14:28 +0800)]
doc/rados/configuration/auth-config-ref: use "describe" to define default keyrings
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Sun, 18 Apr 2021 00:41:53 +0000 (08:41 +0800)]
doc/_ext: use iec_size() instead of filesizeformat()
to format size options in the same format supported by our C++
strict_iec_cast() parser. so they are more consistent from user's
perspective.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Sun, 18 Apr 2021 00:17:31 +0000 (08:17 +0800)]
doc/rados/configuration: merge ms-ref into network-conf-ref
the latter provides more context, and "messenger" is how the networking
infra is implemented.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Sat, 17 Apr 2021 23:55:39 +0000 (07:55 +0800)]
doc/rados/configuration/ceph-conf: use "describe" to define option types
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Sat, 17 Apr 2021 17:52:52 +0000 (01:52 +0800)]
doc/rados/configuration: fix formatting of code block
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Sat, 17 Apr 2021 16:40:15 +0000 (00:40 +0800)]
doc: use "confsec" role for configure section
and rename confval_section to confsec for shorter name
Signed-off-by: Kefu Chai <kchai@redhat.com>