Zac Dover [Thu, 6 May 2021 00:54:24 +0000 (10:54 +1000)]
doc/cephadm: rewrite "using customized con..."
This PR rewrites the text in "Using Customized
Container Images" so that it is just a bit
clearer, and it also formats the prompt in the
text correctly.
Kefu Chai [Tue, 4 May 2021 03:08:15 +0000 (11:08 +0800)]
doc/man/8/cephfs-shell: reformat options
* format global options using option directive
* fix the header, so man/conf.py is able to parse
the description
* define "Synopsis" section to be consistent with other manpages.
* drop reference to glossary using "term" as manapge does not have
reference to glossary entries.
Sage Weil [Tue, 4 May 2021 16:06:17 +0000 (11:06 -0500)]
ceph_test_rados_api_service: stop threads before asserting
Otherwise, if we assert, we'll hang here:
Thread 1 (Thread 0x7f74eba79580 (LWP 1688617)):
#0 0x00007f74eb2aa529 in futex_wait (private=<optimized out>, expected=132, futex_word=0x7ffd642b4b54) at ../sysdeps/unix/sysv/linux/futex-internal.h:61
#1 futex_wait_simple (private=<optimized out>, expected=132, futex_word=0x7ffd642b4b54) at ../sysdeps/nptl/futex-internal.h:135
#2 __pthread_cond_destroy (cond=0x7ffd642b4b30) at pthread_cond_destroy.c:54
#3 0x0000563ff2e5a891 in LibRadosService_StatusFormat_Test::TestBody (this=<optimized out>) at /usr/include/c++/7/bits/unique_ptr.h:78
#4 0x0000563ff2e9dc3a in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> (location=0x563ff2ea72e4 "the test body", method=<optimized out>, object=0x563ff422a6d0)
at ./src/googletest/googletest/src/gtest.cc:2605
#5 testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=object@entry=0x563ff422a6d0, method=<optimized out>, location=location@entry=0x563ff2ea72e4 "the test body")
at ./src/googletest/googletest/src/gtest.cc:2641
#6 0x0000563ff2e908c3 in testing::Test::Run (this=0x563ff422a6d0) at ./src/googletest/googletest/src/gtest.cc:2680
#7 0x0000563ff2e90a25 in testing::TestInfo::Run (this=0x563ff41a3b70) at ./src/googletest/googletest/src/gtest.cc:2858
#8 0x0000563ff2e90ec1 in testing::TestSuite::Run (this=0x563ff41b6230) at ./src/googletest/googletest/src/gtest.cc:3012
#9 0x0000563ff2e92bdc in testing::internal::UnitTestImpl::RunAllTests (this=<optimized out>) at ./src/googletest/googletest/src/gtest.cc:5723
#10 0x0000563ff2e9e14a in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (location=0x563ff2ea8728 "auxiliary test code (environments or event listeners)",
method=<optimized out>, object=0x563ff41a2d10) at ./src/googletest/googletest/src/gtest.cc:2605
#11 testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x563ff41a2d10, method=<optimized out>,
location=location@entry=0x563ff2ea8728 "auxiliary test code (environments or event listeners)") at ./src/googletest/googletest/src/gtest.cc:2641
#12 0x0000563ff2e90ae8 in testing::UnitTest::Run (this=0x563ff30c0660 <testing::UnitTest::GetInstance()::instance>) at ./src/googletest/googletest/src/gtest.cc:5306
Dennis Körner [Tue, 4 May 2021 15:59:59 +0000 (17:59 +0200)]
Add Rocky Linux to supported DISTRO_NAMES
Rocky Linux is a RHEL clone. I did a test-installation of ceph pacific on Rocky Linux RC1 with cephadm. As far as I can see, everything works as expected.
Signed-off-by: Dennis Körner <koerner@netzwerge.de>
Kefu Chai [Tue, 4 May 2021 13:07:01 +0000 (21:07 +0800)]
cmake: let libglobal_obj depend on legacy-option-headers
to address following build failure:
FAILED: src/global/CMakeFiles/libglobal_objs.dir/global_init.cc.o ...
src/global/CMakeFiles/libglobal_objs.dir/global_init.cc.o -MF src/global/CMakeFiles/libglobal_objs.dir/global_init.cc.o.d -o src/global/CMakeFiles/libglobal_objs.dir/global_init.cc.o -c
../src/global/global_init.cc
In file included from ../src/global/global_init.cc:26:
In file included from ../src/common/config.h:26:
In file included from ../src/common/config_values.h:59:
../src/common/options/legacy_config_opts.h:1:10: fatal error: 'global_legacy_options.h' file not found
^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
librbd/mirror/snapshot: avoid UnlinkPeerRequest with a unlinked peer
CreatePrimaryRequest could create some UnlinkPeerRequest with an already
unlinked peer in a scenario where you have multiple peers. This request
will not remove the peer (as it's already not linked to the requested
peer) and will skip deletion of the mirror snapshot if another peer
remains. Eventually the code will go through an infinite recursive loop
between CreatePrimaryRequest and UnlinkPeerRequest and segfault.
This commit adds an extra condition to make sure to not submit a
UnlinkPeerRequest if the peer is not linked to the current snapshot. If
there is already no peer in the list it will submit a UnlinkPeerRequest
to remove the snapshot.
Fixes: https://tracker.ceph.com/issues/50439 Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@cern.ch>
Merge pull request #40313 from jmolmo/purge_iscsi_config
mgr/cephadm: Remove gateway.conf from iscsi pool when service is removed
Reviewed-by: Adam King <adking@redhat.com> Reviewed-by: Jason Dillaman <dillaman@redhat.com> Reviewed-by: Sage Weil <sage@newdream.net> Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
Kefu Chai [Tue, 4 May 2021 03:08:15 +0000 (11:08 +0800)]
doc/man/8/cephfs-shell: reformat options
* format global options using option directive
* fix the header, so man/conf.py is able to parse
the description
* define "Synopsis" section to be consistent with other manpages.
* drop reference to glossary using "term" as manapge does not have
reference to glossary entries.
* refs/pull/40962/head:
test: add test to validate snap synchronization with parent directory snapshots
cephfs-mirror: ignore parent directory snapshots when building snap map
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
* refs/pull/40903/head:
test: add test case for MDS privated inos accessing
mds: make the lost+found dir accessible from clients
mds: move the inos 1,2 and 3 macros to ceph_fs.h
Reviewed-by: Jeff Layton <jlayton@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
* refs/pull/41120/head:
doc/_ext: ignore desc if it is unavailable
doc/_ext: check "default" for None
doc/_ext: print 0B if option value is 0
doc/cephfs: render options using confval directive
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
librbd/cache/pwl/ssd/WriteLog: don't crash on split log entries
write_log_entries() will split a log entry at the end of the log, the
remainder is written to the beginning at DATA_RING_BUFFER_OFFSET. On
the read side aio_read_data_block() doesn't handle this case and just
crashes. Unless the workload in use is <= 4K, the image is rendered
unusable sooner or later.
Paul Cuzner [Thu, 8 Apr 2021 04:43:22 +0000 (16:43 +1200)]
mgr/dashboard:include compression stats on pool dashboard
This is a replacement dashboard configuration for the
pool overview page. It provides a cluster wide view of
capacity consumed and compression effectiveness, and
breaks this down by each pool within the configuration.
Fixes: https://tracker.ceph.com/issues/50226 Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
Kefu Chai [Sun, 2 May 2021 11:57:27 +0000 (19:57 +0800)]
doc/_ext: ignore desc if it is unavailable
there is chance that we don't have desc, desc_long or fmt_desc, in that
case, we should just skip desc before checking its length. so, just use
'if desc' which is able to check for None or empty string.
Kefu Chai [Sun, 2 May 2021 10:17:00 +0000 (18:17 +0800)]
doc/_ext: check "default" for None
default could be None and we don't reference the default value using
`opt.default`, so this variable is always defined. to avoid printing
a None default value, check for a None value. see
https://jinja.palletsprojects.com/en/2.11.x/templates/#none
librados/librados_c: check .symver support using cmake
the __asm__(".asmver ..") is a support provided by the compiler, so
would be better to detect it by either checking the compiler identifer
or just try it out.
in this change, instead of checking the building platform, we check this
feature using check_c_source_compiles().
in future, we could support versioned symbols using function attriubte
or symbol tables or version-script.
on platform where symbol versioning is not supported, we might need to
go with a different approach.
cgroups, i.e. control groups, are a linux kernel feature. this is not
available on FreeBSD, Win32 or MacOS. furthermore, we are reading the
information of it by accessing files exposed using a tmpfs filesystem
mounted at /sys/fs/cgroup, which is not available on other systems.
in this change, instead of guarding it using `#ifndef _WIN32`, it is now
guraded using `defined(__linux__)`.
common/StackStringStream: make override method with "final"
this change also silences the warnings like:
src/common/StackStringStream.h:75:7: warning: 'overflow' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
int overflow(int c)
^
Kefu Chai [Sat, 1 May 2021 15:30:18 +0000 (23:30 +0800)]
common/pick_address: define in_addr_t if it is not defined
neither mingw not not have in_addr_t defined, see
https://docs.microsoft.com/en-us/windows/win32/api/winsock2/ns-winsock2-in_addr,
so define it if it is not defined.
/home/jenkins-build/build/workspace/ceph-pr-docs/doc/cephfs/mds-config-ref.rst:2: WARNING: duplicate confval_option description of mds_cache_memory_limit, other instance in cephfs/cache-configuration
/home/jenkins-build/build/workspace/ceph-pr-docs/doc/cephfs/mds-config-ref.rst:2: WARNING: duplicate confval_option description of mds_cache_reservation, other instance in cephfs/cache-configuration
* refs/pull/41091/head:
doc/cephfs/nfs: add section about ganesha logs
doc/cephfs/nfs: Replace volume/nfs with nfs
doc/cephfs/nfs: add note about export management with volume/nfs interface only
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Loïc Dachary [Fri, 19 Mar 2021 07:29:08 +0000 (08:29 +0100)]
qa: verify the benefits of mempool cacheline optimization
There already is a test to verify the mempool sharding works, in the sense that
it uses at least half of the variables available to count the number of
allocated objects and their total size. This new test verifies that, with
sharding, object counting is at least twice faster than without sharding. It
also collects cacheline contention data with the perf c2c tool. The manual
analysis of this data shows the optimization gain is indeed related to cacheline
contention.