Commit Graph

122477 Commits

Author SHA1 Message Date
Radoslaw Zarzynski
ddedc2e182 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>
2021-04-21 16:53:25 +00:00
Zac Dover
91de0becbd 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>
2021-04-22 01:01:01 +10:00
zdover23
06d18bc36a
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>
2021-04-22 00:21:38 +10:00
Kefu Chai
bb75ef228a 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>
2021-04-21 22:12:39 +08:00
Kefu Chai
7d2964bf78 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>
2021-04-21 21:51:55 +08:00
Sridhar Seshasayee
f417ebf0ff 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>
2021-04-21 19:04:28 +05:30
Rishabh Dave
0ea399c011 ceph-volume: move get_lvs_from_path() to api/lvm.py
This makes this method reusable across ceph-volume codebase.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2021-04-21 18:30:09 +05:30
Rishabh Dave
0792a396ce ceph-volume: allow listing devices by OSD ID
Adds the ability to list devices by OSD IDs, i.e. "ceph-volume lvm list
3" would list all devices under OSD ID 3 (which can be up to 2 and 3
devices under filestore and bluestore OSDs respectively).

Fixes: https://tracker.ceph.com/issues/41294
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2021-04-21 18:30:09 +05:30
Rishabh Dave
7bf4937a59 ceph-volume: add methods to get LV from OSD ID
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2021-04-21 18:28:51 +05:30
Or Ozeri
c0e6c07ae0 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>
2021-04-21 14:16:28 +03:00
Radoslaw Zarzynski
32af87341b ceph.spec.in: crimson depends on binutils b/c of addr2line.
This small utility is needed due to the backtrace processing.
See: d3dcf510c3.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-04-21 09:39:02 +00:00
Yuval Lifshitz
a67d1cf2a7
Merge pull request #40935 from TRYTOBE8TME/wip-rgw-bootstrap-fix
test/rgw: Removing unrecognized option from bootstrap file
2021-04-21 11:39:03 +03:00
Nizamudeen A
273a776cad mgr/dashboard: Remove username and password from request body
Fixes: https://tracker.ceph.com/issues/50451
Signed-off-by: Nizamudeen A <nia@redhat.com>
2021-04-21 13:40:39 +05:30
Kefu Chai
4e0d61cb45
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>
2021-04-21 14:12:57 +08:00
Kefu Chai
4b7fb6c453 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>
2021-04-21 13:35:12 +08:00
Kefu Chai
4e58b5899e 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>
2021-04-21 13:34:35 +08:00
Kefu Chai
aa50d14b61 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>
2021-04-21 13:17:17 +08:00
Kefu Chai
52a5655296 doc/rados/configuration/mon-config-ref: use confval directive
for defining options

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-21 12:37:03 +08:00
Kefu Chai
4481f4ac75 doc/rados/configuration/general-config-ref: use confval directive
for defining options

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-21 12:33:19 +08:00
Kefu Chai
4a4dc9f5a1 doc/rados/configuration/osd-config-ref: use confval directive
for defining options

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-21 12:33:19 +08:00
Kefu Chai
c3c2da4e32
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>
2021-04-21 11:54:32 +08:00
Kefu Chai
f2851d62e7
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>
2021-04-21 10:15:46 +08:00
Kalpesh
75060d50c2 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>
2021-04-21 02:36:22 +05:30
Patrick Donnelly
fab5c0fe4f
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>
2021-04-20 14:01:32 -07:00
Adam King
eebb842d04 mgr/cephadm: don't remove daemons from hosts in maintenance or offline mode
Fixes: https://tracker.ceph.com/issues/50364

Signed-off-by: Adam King <adking@redhat.com>
2021-04-20 14:44:06 -04:00
Adam King
56641742a7 mgr/cephadm: default status for daemons on maintenance hosts to stopped
we do not refresh the daemons on maintenance hosts so our info
on them is always outdated. Therefore, the best option is to
assume maintenance mode is working correctly and the daemons
are stopped

Signed-off-by: Adam King <adking@redhat.com>
2021-04-20 14:43:55 -04:00
Daniel Gryniewicz
4836b06358
Merge pull request #40191 from dang/wip-dang-zipper-sysobj
RGW Zipper - Remove rgw_pool from API
2021-04-20 14:19:47 -04:00
Samuel Just
851dd14f75 crimson/os/seastore/cache: factor out remove_from_dirty
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-04-20 10:41:44 -07:00
Sage Weil
ba135842e3 mgr/cephadm: fix 'orch ls' count to reflect schedulable hosts
Signed-off-by: Sage Weil <sage@newdream.net>
2021-04-20 12:10:13 -04:00
Sage Weil
f260c48f72 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>
2021-04-20 12:10:06 -04:00
Kefu Chai
d72fb1f3e6 doc/rados/configuration/osd-config-ref: use confval directive
for defining options

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-20 22:49:20 +08:00
Lee Yarwood
79fca7aaf1 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>
2021-04-20 11:02:57 +01:00
Ilya Dryomov
477b705fe7
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>
2021-04-20 10:46:29 +02:00
Ilya Dryomov
a2b1c69981 doc/releases/index: update for 14.2.20, 15.2.11 and 16.2.1
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2021-04-20 10:05:28 +02:00
Kefu Chai
0be78da368
Merge pull request #40877 from mgfritch/doc-rgw-python3-print
doc/rgw: update to python3 print syntax

Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-04-20 15:02:49 +08:00
Samuel Just
9b5d2042ee crimson/os/seastore/cache: swap dirty_from users to get_dirty_from()
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-04-19 23:51:18 -07:00
Samuel Just
2ce4484312 crimson/os/seastore: route all transaction creations through cache
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-04-19 23:51:18 -07:00
Samuel Just
5c1ae5bcd2
Merge pull request #40846 from athanatos/sjust/wip-object-data
seastore: initial object data support

Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
2021-04-19 23:50:22 -07:00
Kefu Chai
20bab70a08
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>
2021-04-20 08:03:48 +08:00
Abutalib Aghayev
389d8dec5c os/bluestore: Removed redundant logging.
Signed-off-by: Abutalib Aghayev <agayev@psu.edu>
2021-04-19 18:30:15 -04:00
Zac Dover
4106e331fb 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>
2021-04-20 02:03:30 +10:00
Radoslaw Zarzynski
d3dcf510c3 crimson/common: do backtrace via boost::stackstrace and addr2line.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-04-19 15:24:04 +00:00
Radoslaw Zarzynski
33cc480d11 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>
2021-04-19 15:24:04 +00:00
Radoslaw Zarzynski
7dec410192 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>
2021-04-19 15:24:04 +00:00
Kefu Chai
5a6e58e162 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
2021-04-19 15:24:04 +00:00
Sage Weil
d51d80b323 msgr/async: fix unsafe access in unregister_conn()
We were looking at anon_conns and accepting_conns without holding
the lock (deleted_lock is not sufficient).

Drop this test, and move the decrements:

- inc when we add to conns or anon_conns (no changes there)
- dec when we remove from deleted_conns (several different paths!)

Fixes: https://tracker.ceph.com/issues/49237
Signed-off-by: Sage Weil <sage@newdream.net>
2021-04-19 09:26:30 -05:00
Deepika Upadhyay
ec2a402f55 qa/tasks/cephadm: fix ctx archive check for teuthology
Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2021-04-19 19:48:47 +05:30
Mykola Golub
936898b8ca os/FileStore: don't propagate split/merge error to "create"/"remove"
Either ignore or terminate, otherwise it may confuse the
"create"/"remove" caller.

Fixes: https://tracker.ceph.com/issues/50395
Signed-off-by: Mykola Golub <mgolub@suse.com>
2021-04-19 15:17:42 +01:00
Kefu Chai
2041207674 doc/man/8/ceph-authtool: fix the indent of option
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-19 22:09:52 +08:00
Ernesto Puerta
b9575dc757
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>
2021-04-19 16:09:39 +02:00