Commit Graph

116597 Commits

Author SHA1 Message Date
Kefu Chai
4cc179ff08
Merge pull request #37890 from tchaikov/wip-crimson-os-cleanup
crimson/os: fix couple issues reported by clang

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
2020-10-29 19:59:08 +08:00
Matt Benjamin
64f15c838b
Merge pull request #36739 from pritha-srivastava/wip-rgw-sts-expire-session-token
rgw/sts: adding code for "aws:TokenIssueTime" to be used
2020-10-29 07:58:10 -04:00
Matt Benjamin
133f26325d
Merge pull request #35612 from pritha-srivastava/wip-sts-role-min-duration
rgw/sts: Adding a configurable rgw_sts_min_session_duration
2020-10-29 07:57:50 -04:00
Kefu Chai
755c0e7f8b osd/scheduler: rely on copy ellision to move return val
C++14 enforces copy ellision in this case.

also silences warning of

src/osd/scheduler/mClockScheduler.cc:122:21: warning: redundant move in return statement [-Wredundant-move]
  122 |     return std::move(ret);
      |            ~~~~~~~~~^~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 18:51:38 +08:00
Kefu Chai
f9f9270d75 osd/osd_types: mark unused variable [[maybe_unused]]
silences warning like:

rc/osd/osd_types.h:5482:18: warning: unused variable '_' [-Wunused-variable]
     auto [iter, _] = ref_delta.try_emplace(hoid, 0);
                  ^

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 18:36:13 +08:00
Kefu Chai
5bde7842f8 crimson/os/seastore/.../lba_btree_node_impl: put "{" at a new line
so the function body is not cluttered with the function signature.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 18:30:10 +08:00
Kefu Chai
90e2ed8cbe crimson/os/seastore/.../lba_btree_node_impl: use plain seastar::future in lookup_range()
otherwise GCC enters a dead loop when compiling this method.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 18:30:10 +08:00
Kefu Chai
688b95798b crimson/common: drop variadic future support from errorator
this allows us to bump up Seastar_API_LEVEL to 6 which completely ditch
variadic future from Seastar.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 18:30:10 +08:00
Ilsoo Byun
5a94be030b rgw: keep syncstopped flag when copying bucket shard headers
Fixes: https://tracker.ceph.com/issues/48037

Signed-off-by: Ilsoo Byun <ilsoobyun@linecorp.com>
2020-10-29 18:27:47 +09:00
Kefu Chai
76fe6fc32c cmake: build bluestore-tp before crimson-alienstore
to address the FTBFS of

src/os/bluestore/BlueStore.cc:52:10: fatal error: tracing/bluestore.h: No such file or directory
   52 | #include "tracing/bluestore.h"
      |          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.

tracing/bluestore.h is created by the "bluestore-tp" target, there
is a good chance that we build crimson when WITH_LTTNG is enabled,
let's ensure that tracing/bluestore.h is ready before compiling
alienstore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 17:21:06 +08:00
Kefu Chai
7736aaf32f crimson/os: capture local bindings using capture variable list
structured binding does not define variables, and the implicit
capture-by-copy `=` does not help in this case, we have to define a
capture with an initializer to create a *variable* enclosed by
the closure explicitly.

this address the error like:

src/crimson/os/seastore/segment_cleaner.cc:315:5: error: reference to local binding 'addr' declared in enclosing lambda expression
                  addr);
                  ^

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 16:32:26 +08:00
Kefu Chai
e29f6e84d7 crimson/os: do not move temporay variable
copy ellision ensures that copy ctor is not called in this case

silences warning like:

mson/os/seastore/lba_manager/btree/lba_btree_node_impl.cc:262:5: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
    std::move(begin()),
    ^

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 16:32:26 +08:00
Kefu Chai
6498d97a0e crimson/os: do not capture unused variable
silences warning like:

btree/extentmap_btree_node.h💯8: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
      [this, ec, len] (auto &extents) {
       ^

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 16:32:25 +08:00
Kefu Chai
f3f688c48f
Merge pull request #37887 from tchaikov/wip-seastar
seastar: pick up changes to colocate libc allocator and seastar alloc…

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2020-10-29 15:21:41 +08:00
Kefu Chai
897fe53951 crimson/gtest_seastar: consume argv before passing them to seastar
so we can pass gtest options to the test without annoying seastar app.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 15:00:41 +08:00
Kefu Chai
0df04e602b crimson/gtest_seastar: do not keep a copy of argv
argv is always available in the whole life cycle of the application, so
there is no need to keep a copy of it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 14:04:51 +08:00
Kefu Chai
4cd2b00d2a seastar: pick up changes to colocate libc allocator and seastar allocator
this allows us to use seastar's builtin allocator along with the libc
allocator used by alien threads.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 13:59:41 +08:00
Changcheng Liu
497b4d6f72 cmake: remove yasm since it's been replaced by nasm
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 12:36:20 +08:00
Changcheng Liu
58a946ca06 cmake: use nasm to replace yasm to build isa-l
1. use nasm to replace yasm to build isa-l
2. use the defined MACRO for nasm to replace all the defined MACRO for
   yasm

Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 12:36:08 +08:00
Changcheng Liu
a944232ad4 install-deps.sh: install nasm for isa-l library
nasm support build isa-l:AVX512 algorithm implementation while yasm
doens't support it. Install nasm assembler to build isa-l
refer to: https://github.com/yasm/yasm/issues/101

Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 12:35:55 +08:00
Changcheng Liu
b6ac925088 common: use isa-l's crc32 to implement fast crc32 on IA arch
1. Accoring to the commit history, crc32c_intel_fast_asm.s is copied from
isa-l's crc32_iscsi_00.asm. Let's use isa-l's crc32 to replace the old
one.
2. For nasm, it doesn't recongized "rip". Change all the address to be
rip relative by adding "default rel".

Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 12:35:44 +08:00
Changcheng Liu
0042d244d4 cmake: wrapper nasm as assembler to deal with some options
1. unify some options, such as "-I -isystem"
2. ignore some known options, such as "-W*"
3. ignore some unknown options, such as '-fPIC"

Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 12:35:26 +08:00
Changcheng Liu
6d62cc05d9 cmake: check nasm and define related MACRO
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 12:34:57 +08:00
Changcheng Liu
bf5794b2f0 cmake: define cmake macro to check nasm assembler
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 12:34:38 +08:00
Kefu Chai
b1e133468f cmake: set HAVE_LIBZBD before creating "acconfig.h"
`acconfig.h` is generated using

configure_file(
  ${CMAKE_SOURCE_DIR}/src/include/config-h.in.cmake
  ${CMAKE_BINARY_DIR}/include/acconfig.h
)

in `config-h.in.cmake`, the cmake variable of `HAVE_LIBZBD` is checked.
so we need to ensure that this variable is visible from this
`configure_file()` statement.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 11:19:40 +08:00
Kefu Chai
98c06b534f rpm: pass -DWITH_ZBD=ON to cmake if zbd is enabled
this is a leftover of fd1b02a341

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 11:19:40 +08:00
Kefu Chai
afd598996a cmake: s/WITH_LIBZBD/WITH_LIBZBD/
fix the regression introduced by
d536386306

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-10-29 11:19:40 +08:00
Yan, Zheng
a80cb18726
Merge pull request #37777 from chenerqi/fix-modified-dentries-count
mds: fix count error of modified dentries
2020-10-29 11:08:10 +08:00
Changcheng Liu
ab20dc8960 cmake: extract common in one place for further check
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 08:57:54 +08:00
Changcheng Liu
a62f8d8ea0 cmake: check whether yasm support AVX512
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 08:57:54 +08:00
Changcheng Liu
97acb3eb30 common: rename YASM MACRO to hint support SIMD
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 08:57:54 +08:00
Changcheng Liu
c98a925053 common: rename variable name to improve readability
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 08:57:54 +08:00
Changcheng Liu
9d94548b4c cmake: refine yasm support x86_64 and AVX2 info
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 08:57:54 +08:00
Changcheng Liu
4738722d1e cmake: more quiet when checking for yasm
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 08:57:54 +08:00
Changcheng Liu
6a0f55b8e4 yasm-wrapper: refine yasm option usage strategy in yasm-wrapper
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 08:57:54 +08:00
Changcheng Liu
6b7a67a1dc yasm-wrapper: remove redundant option
"-fPIC" is covered by "-f"

Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 08:57:54 +08:00
Changcheng Liu
2870da9784 yasm-wrapper: remove not existed options
commit "0cf627b4" has removed lowmem_builder condition.
ggc-min* not exist now.

Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
2020-10-29 08:57:54 +08:00
Jason Dillaman
79fb76cecd
Merge pull request #37636 from MahatiC/wip-init-ssd
librbd/cache: init functionality for SSD Cache

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-10-28 19:03:05 -04:00
Jason Dillaman
c457985dfa
Merge pull request #37680 from orozery/object-dispatch-aligned-crypto
librbd: crypto alignment support

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-10-28 19:02:47 -04:00
Patrick Donnelly
cb9b2e5815
doc: document MDS cache configuration
Fixes: https://tracker.ceph.com/issues/48010
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2020-10-28 13:26:14 -07:00
Samuel Just
10b0a5ed3a
Merge pull request #37871 from cyx1231st/wip-seastore-misc-fixes
crimson/seastore: misc fixes in transaction manager

crimson/seastore: misc fixes in transaction manager
2020-10-28 13:16:55 -07:00
Daniel Gryniewicz
35bbc13258
Merge pull request #37877 from dang/wip-dang-cond-writeback
rgw: Fix broken merge in #37774
2020-10-28 14:27:06 -04:00
Jason Dillaman
caaba8eabe qa/workunits/rbd: fix permission issue when removing mirror peer
Fixes: https://tracker.ceph.com/issues/48032
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-10-28 14:06:57 -04:00
Daniel Gryniewicz
e47b71955d RGW - Fix broken merge in #37774
I messed up the merge in #37774 and somehow forgot to push a change.
This resulted it the flag being set on the wrong branch.  This fixes
that.

RHBZ#1845501

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2020-10-28 11:49:58 -04:00
Patrick Donnelly
ce151e3e47
test: add DecayCounter test
In particular, look at the steady state decay. (i.e. a counter that is
continuously "refilled".)

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2020-10-28 08:47:17 -07:00
Kefu Chai
651f77cf99
Merge pull request #37865 from neha-ojha/wip-mon-fixes
qa: miscellaneous mon test fixes

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-10-28 23:45:38 +08:00
Ronen Friedman
37a6c4057d osd: fix signatures of get_store_errors() and friends
The 'store' parameter was ignored by ScrubStore-related get_*_errors()
functions, and is now removed.

The functions are now marked 'const'. That required tagging the caching
member Store::backend as 'mutable'. While 'mutable' is an 'eyesore',
here is one of the rare cases where its use is justified. Following
https://isocpp.org/wiki/faq/const-correctness:
"When methods change the physical but not logical state, the method should
generally be marked as const since it really is an inspector-method."
(The text then continues and specifically prescribes 'mutable' for these situations.)

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2020-10-28 17:40:57 +02:00
Lenz Grimmer
0b9a4e053a
Merge pull request #36764 from ishanrai05/guide
mgr/dashboard: Style guide to give a the UI an overall look and feel

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Sebastian Krah <skrah@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2020-10-28 15:47:32 +01:00
Christopher Odom
dcac50e322 mgr/dashboard: Added Versioning to the REST API
Versioning is handled by the RESTContoller decorators.
It works by adding a version attribute to the endpoint object,
which will be checked by the _request_wrapper against the requested
version before the controller method is dispatched.

This commit also updates all of the testing to support
version vendor mime types, as well as adding an http
interceptor to add versioned mime types to all frontend
requests.

Fixes: https://tracker.ceph.com/issues/40909
Signed-off-by: Avan Thakkar  <athakkar@redhat.com>
2020-10-28 19:33:39 +05:30
Varsha Rao
23b9fb6456 doc/mgr/orchestrator: Update about "{mds, rgw} add" status in rook
"mds add" and "rgw add" are no longer supported in rook. Their implementation
was removed by commits 56cfeb6 and 0580297. Instead "apply mds" and "apply rgw"
is preferred.

Signed-off-by: Varsha Rao <varao@redhat.com>
2020-10-28 19:16:35 +05:30