Commit Graph

122591 Commits

Author SHA1 Message Date
Yingxin Cheng
80868b8359 crimson/onode-staged-tree: implement synthetic tests for value erase
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:38 +08:00
Yingxin Cheng
c6427de4db crimson/onode-staged-tree: fix ownership issues at node-level
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:38 +08:00
Yingxin Cheng
47b67ec417 crimson/onode-staged-tree: allow to insert item to an empty node
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:38 +08:00
Yingxin Cheng
04fbaa036a crimson/onode-staged-tree: move try_downgrade_root() into fix_index()
Specifically, apply_children_merge() doesn't know whether it will be
retired due to fix_parent_index().

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
e0a9bfbcfa crimson/onode-staged-tree: don't validate child when it's outdated
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
9f821d0ee2 crimson/onode-staged-tree: pass origin_left_addr to apply_children_merge()
rebuild_extent() may change the address of the left child, we need to
pass the origin_left_addr in order to validate if it is correct.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Samuel Just
86ad429d8d crimson/.../node_extent_manager: replay extents may be dirty
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
fbf4d71d20 crimson/onode-staged-tree: cleanup tree_utils.h
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
d0998d3a75 crimson/onode-staged-tree: test fix_index() in internal node
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
6ece760c38 crimson/onode-staged-tree: test merge in internal node
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
6291154e4c crimson/onode-staged-tree: implement staged::get_prev_slot()
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
8e0903378a crimson/onode-staged-tree: test merge in leaf node
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
7f73bbfe7d crimson/onode-staged-tree: implement layout-level merge
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
767306bf20 crimson/onode-staged-tree: test erase in leaf node
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
01873f48d0 crimson/onode-staged-tree: implement staged::erase()
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
5818e786c4 crimson/onode-staged-tree: fix container_t::update_size() to accept negative value
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
c4b5e7fecd crimson/onode-staged-tree: implement staged::is_keys_one()
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
eb4c03f4ef crimson/onode-staged-tree: implement node-level erase/merge logic
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
36b4610a2c crimson/onode-staged-tree: implement delta encode/decode for erase ops
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
ee29963503 crimson/onode-staged-tree: improve logs
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
630babc1b2 crimson/onode-staged-tree: implement fast Node::get_name()
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
2cebba5646 crimson/onode-staged-tree: fix get_pivot_index() for leaf node
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
0150067491 crimson/onode-staged-tree: be explicit about node num-key/value invariants
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
71836adff5 crimson/onode-staged-tree: cleanup node interfaces
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
5e8ed3e880 crimson/onode-staged-tree: implement states for NodeExtentAccessorT
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
5d41bda16e crimson/onode-staged-tree: implement NodeExtentManager::retire_extent()
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
776390d249 crimson/onode-staged-tree: fix log
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
f286afb8ee crimson/onode-staged-tree: remove implemented TODO
Already implemented in c32c1032de

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
c9360d414f crimson/onode-staged-tree: implement tree-level erase interfaces
Define and implement erase related interfaces from BTree, BTree::Cursor,
tree_cursor_t, Node to LeafNode.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
827fcde029 crimson/onode-staged-tree: add invalid state to tree_cursor_t
If a key-value pair is erased from the tree, the according tree_cursor_t
is untracked and becomes invalid.

From Cursor point-of-view, it becomes an end Cursor if the internal
cursor is invalidated.

From Value point-of-view, it becomes untracked if the value is erased.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
72a0b6e9de crimson/onode-staged-tree: cleanup replace_track/track_split()
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Yingxin Cheng
609eba2562 crimson/onode-staged-tree: disable concurrent gc
Fix test/perf hang according to 947b103eed

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-04-29 16:03:37 +08:00
Ilya Dryomov
defea709f4
Merge pull request #40493 from CongMinYin/fix-rwl-fragment
librbd/cache/pwl: Fix pmem cache fragment issue

Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2021-04-29 09:35:21 +02:00
Yin Congmin
b53392a153 librbd/cache/pwl: Fix pmem cache fragment issue
I/O may hang due to pmem cache fragment issue when blocks are diffrent
in size. Call pmdk API(pmemobj_defrag) to solve.

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

Signed-off-by: Yin Congmin <congmin.yin@intel.com>
2021-04-29 22:12:31 +08:00
Sage Weil
e216c1ee11 Merge PR #41072 into master
* refs/pull/41072/head:
	doc/releases/nautilus: fix a braino in 14.2.20 release note

Reviewed-by: Sage Weil <sage@redhat.com>
2021-04-28 18:42:49 -04:00
Sage Weil
f8e872ce2f Merge PR #40924 into master
* refs/pull/40924/head:
	mgr/cephadm: check hostname resolution before adding host
	cephadm: provide a way to checkhost connection without /etc/hosts passed the shell
	doc/cephadm: remove /etc/hosts from list of hostname resoltion methods

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Adam King <adking@redhat.com>
2021-04-28 14:27:07 -04:00
Josh Durgin
0e273e6760
Merge pull request #40593 from ideepika/wip-new-testing-params
qa/config/rados: add dispatch delay testing params

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Sam Just <sjust@redhat.com>
2021-04-28 11:26:58 -07:00
Sage Weil
75480f52e4 Merge PR #40941 into master
* refs/pull/40941/head:
	qa/suites/rados/cephadm/smoke-roleless: test client-keyring
	qa/tasks/cephadm.py: adjust client.admin key mode; place on all hosts
	cephadm: distribute client.admin keyring+conf to label:_admin on bootstrap
	doc/cephadm: document the default 'admin' label
	mgr/cephadm: 'ceph orch client-keyring ...' commands to manage keyring files
	mgr/cephadm: reimplement ceph.conf pushing
	mgr/cephadm: use _write_remote_file for ceph.conf
	mgr/cephadm: _write_remote_file helper
	mgr/cephadm: add placementspec for which hosts get ceph.conf

Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Adam King <adking@redhat.com>
2021-04-28 14:26:35 -04:00
Sage Weil
428d3df588 Merge PR #40943 into master
* refs/pull/40943/head:
	mgr/cephadm: skip ok-to-stop for mons in upgrade if < 3 mons
	mgr/cephadm: don't allow upgrade start with less than 2 mgrs

Reviewed-by: Michael Fritch <mfritch@suse.com>
2021-04-28 14:26:07 -04:00
Sage Weil
1b70eed088 Merge PR #41049 into master
* refs/pull/41049/head:
	cephadm: re-assimilate user provided conf after mgr created

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
2021-04-28 14:25:30 -04:00
Sage Weil
22f785e186 Merge PR #41055 into master
* refs/pull/41055/head:
	cephadm: allow several public networks be matched

Reviewed-by: Sebastian Wagner <swagner@suse.com>
2021-04-28 14:24:10 -04:00
Kefu Chai
e027864990
Merge pull request #41059 from tchaikov/wip-crimson-clang-cleanup
crimson: clean up issues spotted by the clang compiler

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-04-29 00:18:26 +08:00
Ilya Dryomov
9ff450340b doc/releases/nautilus: fix a braino in 14.2.20 release note
Setting auth_expose_insecure_global_id_reclaim to false disables the
"disconnect right after authentication" behavior, not the warning.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2021-04-28 18:02:53 +02:00
Kefu Chai
bdd322a2d3
Merge pull request #41063 from tchaikov/wip-rgw-move
rgw/rgw_rest_sts: return local variable w/o std::move()

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2021-04-28 23:35:06 +08:00
zdover23
477ce08323
Merge pull request #41067 from zdover23/wip-doc-crismon-misspelling-fix-2021-Apr-28
doc/crimson: s/Crismon/Crimson/

Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-04-29 00:11:55 +10:00
zdover23
4e67878cb9
Merge pull request #41048 from zdover23/wip-doc-rados-config-cluster-names-2021-Apr-27
doc/rados: rename "Running Multiple Clusters"

Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-04-28 23:28:15 +10:00
Zac Dover
f904078344 doc/crimson: s/Crismon/Crimson/
This misspelling occurred twice in this
document.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2021-04-28 23:26:09 +10:00
Kefu Chai
d4eb4c067f crimson/os/seastore: do not capture unused variable
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-28 20:54:22 +08:00
Kefu Chai
a56f89ddc1 crimson/common: do not capture unused variable
this change silences the warning from clang, like:

 ../src/crimson/common/interruptible_future.h:276:8: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
       [this, func=std::move(func),
        ^

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-28 20:54:22 +08:00
Kefu Chai
7288dd20d1 crimson/os/seastore: mark final class "final"
this change silences warning like:

 ../src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.h:80:18: warning: class with destructor marked 'final' cannot be inherited from [-Wfinal-dtor-non-final-class]
   ~FLTreeOnode() final {}
                  ^
 ../src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.h:13:8: note: mark 'crimson::os::seastore::onode::FLTreeOnode' as 'final' to silence this warning
 struct FLTreeOnode : Onode, Value {
        ^

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-28 20:54:22 +08:00