Commit Graph

122921 Commits

Author SHA1 Message Date
Kefu Chai
72a5a1aaf6 crimson/os/seastore: do not start identifier with "__"
avoid starting identifiers with two underscores, these names are
reserved for C/C++ compiler and standard library.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-05-07 21:40:46 +08:00
Kefu Chai
825fc56d40
Merge pull request #41217 from petrutlucian94/boost_url
win*.sh,cmake: Fix Windows build

Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-05-07 20:22:42 +08:00
Kefu Chai
62fa824d4d
Merge pull request #41129 from athanatos/sjust/wip-seastore-osd
crimson: add initial osd support for seastore

Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-05-07 19:51:33 +08:00
Kefu Chai
8983085c1f
Merge pull request #41215 from CloudFerro/new_boost_url
cmake: Replace boost download url

Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-05-07 18:48:05 +08:00
Avan Thakkar
b6f92922f5 mgr/dashboard: fix base-href: revert it to previous approach
Fixes: https://tracker.ceph.com/issues/50684
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
2021-05-07 15:08:11 +05:30
Lucian Petrut
0af38d179e win*.sh,cmake: Fix Windows linking errors
The Windows build is hitting linking errors after
bumping the Boost version to 1.75. The issue is that Boost
is now setting the zlib dependecy using INTERFACE_LINK_LIBRARIES,
which means that it's no longer located using the standard
"find_package" mechanism.

In order for the linker to locate zlib, we'll add it to the
linker search path.

[1] https://github.com/boostorg/boost_install/issues/47

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
2021-05-07 09:23:30 +00:00
Rafał Wądołowski
c2c6678e48 cmake: Replace boost download url
Boost has moved downloads to JFrog Artifactory
https://www.boost.org/users/news/boost_has_moved_downloads_to_jfr.html

Signed-off-by: Rafał Wądołowski <rwadolowski@cloudferro.com>
2021-05-07 10:12:43 +02:00
Samuel Just
d5bc5825e2 crimson/tools/store-nbd: fix help message for path
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:39:05 -07:00
Samuel Just
3a43a6e130 seastore: add comment to do_transaction outlining ordering TODO
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:39:05 -07:00
Samuel Just
933e0d751d crimson/os/seastore/segment_manager/block: create block device during mkfs
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:39:03 -07:00
Samuel Just
d4f5913550 crimson/os/seastore: refactor segment_cleaner to init segment_manager params after mount
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:44 -07:00
Samuel Just
a249389e66 vstart.sh: add --seastore
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:44 -07:00
Samuel Just
fcff4cfb6b crimson/os/seastore: add seastore to FuturizedStore::create
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:44 -07:00
Samuel Just
67efc48332 crimson/os/seastore/segment_manager/block: DSYNC not needed
We are expressly flushing, so this shouldn't be needed.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:44 -07:00
Samuel Just
138f06cae5 crimson/os/seastore: refactor SegmentManager reference ownership
Gives SeaStore ownership over SegmentManager and rearranges mkfs/mount.
Replaces mkfs_config_t/mount_config_t with config params.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:44 -07:00
Samuel Just
770971d3e2 test/crimson/seastore/transaction_manager_test_state: remove duplicate setup
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:44 -07:00
Samuel Just
0fd7c60e94 test/crimson/gtest_seastar: init config and perf counters for crimson tests
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:44 -07:00
Samuel Just
ae615e5f0f crimson/tools/store-nbd: don't use detailed space tracker
Intended for debugging rather than performance testing.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:44 -07:00
Samuel Just
85b94ac539 crimson/os/seastore/journal: close open segment and reset soft state in close()
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:44 -07:00
Samuel Just
c9bd2971fd crimson/os/journal: use SegmentManager methods for block size, etc
Otherwise, initing those values needs to be done after the SegmentManager
instance is mounted.  This is simpler for now.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:44 -07:00
Samuel Just
d67b3c2249 crimson/os/seastore: only create handle in create_new_collection
FuturizedStore::create_new_collection isn't supposed to actually
create the collection.  See OSD::mkfs for a usage example.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:44 -07:00
Samuel Just
644b58a1e6 crimson/os/seastore: clean up meta implementation
There's really no reason to cache the decoded representation here since
the meta keys are only accessed during startup, mkfs.  This approach is
much simpler.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:40 -07:00
Samuel Just
ac83a7cb76 crimson/.../transaction_manager: skip zero mappings in mount
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:34 -07:00
Samuel Just
820dcce6f2 crimson/os/seastore: fix read() to use onode.size for len=0
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:34 -07:00
Samuel Just
6969160c5a crimson/os/seastore: fix do_transaction -- transactions may be empty
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:34 -07:00
Samuel Just
75e547ac17 crimson/os/seastore: wire up get_fsid
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:34 -07:00
Samuel Just
f5ffc8630a crimson/os/seastore: wire up stat
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:34 -07:00
Samuel Just
c973d0c447 crimson/os/seastore/seastore.cc: update to use new debug macros
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:36:32 -07:00
Samuel Just
1dd10f1267 crimson/os/seastore: convert cache and transaction_manager to use new debugging macros
The goal here is to capture the transaction address and to standardize the
prefix format.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-05-07 00:22:43 -07:00
Lucian Petrut
c6404e15cb win32*.sh: ensure that the build dir exists
The Windows build scripts try to use the build dir before
actually creating it.

We'll have to move up the "mkdir" command a few lines.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
2021-05-07 07:20:05 +00:00
Kefu Chai
a4ceaa9fa0
Merge pull request #41214 from tchaikov/wip-crimson-clang-cleanups
crimson: clang related cleanups

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-05-07 14:59:41 +08:00
Kefu Chai
7bed9716a3 crimson/common/config_proxy: add a helper for get_val<>()
otherwise we have to put something like

local_conf().template get_val<T>(name)

which is not quite convenient or readable.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-05-07 13:55:51 +08:00
Kefu Chai
e77f5f7f75 crimson/os/seastore: do not redefine default argument
we should not redefine a default argument of a method of templated class.

this change also address following error from clang:

../src/crimson/os/seastore/onode_manager/staged-fltree/node.cc:621:30: error: template parameter redefines default argument
template <bool FORCE_MERGE = false>
                             ^
../src/crimson/os/seastore/onode_manager/staged-fltree/node.h:438:32: note: previous default template argument defined here
  template <bool FORCE_MERGE = false>
                               ^

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-05-07 13:55:51 +08:00
Kefu Chai
8d1a1cb627 crimson/os/seastore: do not capture non-variables
merge_stage and merge_size are structured bindings, they are not
variables. so cannot be captured without defining variables in
capture list.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-05-07 13:55:51 +08:00
Kefu Chai
88e7356af1 crimson/os/seastore: do not capture unused variable
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-05-07 13:55:48 +08:00
Neha Ojha
b95c48aac1
Merge pull request #41211 from neha-ojha/wip-remove-mon-election
qa/suites/rados/standalone: remove mon_election symlink

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2021-05-06 19:10:28 -07:00
Neha Ojha
c8e48c5c25 qa/suites/rados/standalone: remove mon_election symlink
The standalone tests need parameters to be passed as ceph_args to
override defaults.

This was just doubling the number of standalone tests being run in each rados
run with no effect!

Signed-off-by: Neha Ojha <nojha@redhat.com>
2021-05-07 00:42:53 +00:00
Sage Weil
7934141f69 Merge PR #41201 into master
* refs/pull/41201/head:
	doc/releases: 16.2.3

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: David Galloway <dgallowa@redhat.com>
2021-05-06 16:55:16 -04:00
Sage Weil
c690065423 Merge PR #41179 into master
* refs/pull/41179/head:
	qa/tasks/cephadm_cases: longer wait for osd to start

Reviewed-by: Sebastian Wagner <swagner@suse.com>
2021-05-06 16:01:57 -04:00
Sage Weil
b11226d3ee doc/releases: 16.2.3
Signed-off-by: Sage Weil <sage@newdream.net>
2021-05-06 15:00:36 -05:00
Sridhar Seshasayee
cc1fc98ea4 qa/suites/rados/mgr/tasks/progress: use high_recovery_ops for faster recovery
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
2021-05-06 17:54:38 +00:00
Neha Ojha
ba27bfa53f PendingReleaseNotes: mclock_scheduler is the default scheduler for quincy
Signed-off-by: Neha Ojha <nojha@redhat.com>
2021-05-06 17:54:38 +00:00
Neha Ojha
b6e9c0903d qa/standalone: use osd op queue = wpq
mclock_scheduler is now the default and some of these tests need to be modified
to run well with it. Continue using wpq until
https://tracker.ceph.com/issues/50574 is addressed.

Signed-off-by: Neha Ojha <nojha@redhat.com>
2021-05-06 17:54:38 +00:00
Neha Ojha
8537dff175 common/options/global.yaml.in: use mclock_scheduler as the default scheduler
The aim is to default to mclock_scheduler in quincy, so start early and
get more testing.

Signed-off-by: Neha Ojha <nojha@redhat.com>
2021-05-06 17:54:38 +00:00
Amnon Hanuhov
88eaaf6725 crimson/osd: Use crimson::net::make_message() in ReplicatedRecoveryBackend
Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
2021-05-06 20:22:06 +03:00
Amnon Hanuhov
1420ed154b crimson/osd: Use crimson::net::make_message() in ReplicatedBackend
Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
2021-05-06 20:22:06 +03:00
Amnon Hanuhov
36ce6578ee crimson/osd: Use crimson::net::make_message() in PGRecovery
Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
2021-05-06 20:22:06 +03:00
Amnon Hanuhov
76f7b5ce35 crimson/osd: Overload ShardServices::send_to_osd() to take unique_ptr
Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
2021-05-06 20:22:06 +03:00
Amnon Hanuhov
64a68c2fc1 crimson/osd: Use crimson::net::make_message() in ShardServices
Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
2021-05-06 20:22:06 +03:00
Amnon Hanuhov
31cab8821d crimson/osd: Use crimson::net::make_message() in Watch
Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
2021-05-06 20:22:06 +03:00