summaryrefslogtreecommitdiffstats
path: root/sudoers.d (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-05-08exporter: handle exceptions gracefullyDivyansh Kamboj2-62/+90
ceph exporter crahes, and fails to handle exceptions in dump_asok_metrics(). add try and catch blocks to handle the exceptions gracefully. Signed-off-by: Divyansh Kamboj <dkamboj@redhat.com>
2024-05-07tests/librados: do not use '0' as a stringRonen Friedman1-2/+2
not even as a default string parameter to a function. C++23 does not allow int-to-string conversions, Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2024-05-07tests/rgw: fix ints returned where a string is expectedRonen Friedman1-2/+2
Modifying test_rgw_iam_policy.cc to avoid C++23 compilation errors. C++23 does not allow int-to-string conversions, and '0' cannot be returned where a string is expected. Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2024-05-07PendingReleaseNotes: add note on the client incompatibility health warning ↵Patrick Donnelly1-0/+7
and feature bit Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-07doc/cephfs: add client_mds_auth_caps client feature bitPatrick Donnelly1-0/+11
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-07doc/cephfs: add missing client feature bitsPatrick Donnelly1-25/+39
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-07doc/cephfs: document MDS_CLIENTS_BROKEN_ROOTSQUASH health errorPatrick Donnelly1-0/+17
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-07qa: add tests for MDS_CLIENTS_BROKEN_ROOTSQUASHPatrick Donnelly1-2/+63
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-07mds: raise health warning if client lacks feature for root_squashPatrick Donnelly5-12/+43
Rather than evict all clients lacking this feature bit, raise a health error that pushes the administrator to address it. This avoids the surprise of having all affected clients suddenly evicted in the cluster. Fixes: https://tracker.ceph.com/issues/65733 Fixes: 954ed30 Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-07mon/MDSMonitor: add note about missing metadata inclusionPatrick Donnelly1-0/+1
There is a "client_count" metadata on the health warning that apparently was intended to be used for aggregating warnings but never was. Add a TODO item for that. Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-07mds: check relevant caps for fs include root_squashPatrick Donnelly2-7/+12
When denying client reconnects because the MDS caps include root_squash and the client features do not include CEPHFS_FEATURE_MDS_AUTH_CAPS_CHECK, ensure those caps are only for the file system the MDS is joined to. Fixes: https://tracker.ceph.com/issues/65733 Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-07mds: refactor out fs_name match in MDSAuthCapsPatrick Donnelly1-2/+5
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-07qa: test for root_squash with multiple capsPatrick Donnelly1-0/+34
Where the client has root_squash for one cap but not for another. The fs without root_squash should not necessarily reject the client. Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-07qa: pass kwargs to mount from remountPatrick Donnelly1-1/+1
So we can pass mntargs. Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-07qa: simplify update_attrs and only update relevant keysPatrick Donnelly1-24/+15
So we can just pass the caller's kwargs to update_attrs. Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-07doc/mgr: edit "Overview" in dashboard.rstZac Dover1-27/+23
Edit and update the "Overview" section in doc/mgr/dashboard.rst. Signed-off-by: Zac Dover <zac.dover@proton.me> Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com> Signed-off-by: Zac Dover <zac.dover@proton.me>
2024-05-07qa: make quiesce ops dump world readablePatrick Donnelly1-0/+1
Fixes: https://tracker.ceph.com/issues/65701 Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-07qa: use specific ops/cache dump file namesPatrick Donnelly1-2/+2
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-06cmake: Intelligently set job limits for sccacheZack Cerza2-27/+54
If we are correctly configured for distributed mode, use the cluster's CPU count instead of ours. If we are configured for sccache but without distributed mode, inform the user but continue with normal job limits. Signed-off-by: Zack Cerza <zack@redhat.com>
2024-05-06client: allow overriding client featuresPatrick Donnelly5-2/+45
For testing purposes. Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-05-06RGW\test: making notification push test end point agnosticAli Masarwa1-256/+118
Signed-off-by: Ali Masarwa <amasarwa@redhat.com>
2024-05-06qa/workunits/rbd: wait for replaying status in bootstrap testsIlya Dryomov1-0/+3
wait_for_replay_complete() doesn't wait for image status to get updated. This didn't matter previously because these tests are run on two different pools and nothing else was following. Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2024-05-06test/pybind: drop unnecessary data_pool=None argumentsIlya Dryomov1-11/+6
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2024-05-06pybind/rbd: adjust error message in deep_copy()Ilya Dryomov1-1/+1
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2024-05-06pybind/rbd: expose RBD_IMAGE_OPTION_FLATTEN optionIlya Dryomov5-2/+78
It takes effect with deep_copy() and migration_prepare(). Fixes: https://tracker.ceph.com/issues/65624 Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2024-05-06pybind/rbd: expose RBD_IMAGE_OPTION_CLONE_FORMAT optionIlya Dryomov5-13/+258
It takes effect with clone(), deep_copy() and migration_prepare(). Fixes: https://tracker.ceph.com/issues/65624 Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2024-05-06common/StackStringStream: update pointer to newly allocated memory in overflow()Rongqi Sun1-0/+2
When sanitizer is enabled, unittest_log fails as following ``` [ RUN ] Log.StderrPipeBig ================================================================= ==3302372==ERROR: AddressSanitizer: heap-use-after-free on address 0xffff96e01d00 at pc 0xaaaadd3db754 bp 0xffffd9ebffa0 sp 0xffffd9ebf790 READ of size 4096 at 0xffff96e01d00 thread T0 #0 0xaaaadd3db750 in __asan_memmove (/root/ceph-19.0.0/build/bin/unittest_log+0x3fb750) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409) #1 0xffffafc23734 in char const* boost::container::dtl::memmove_n_source<char const*, char*>(char const*, unsigned long, char*) /root/ceph-19.0.0/build/boost/include/boost/container/detail/copy_move_algo.hpp:261:10 #2 0xffffafc23734 in boost::container::dtl::enable_if_memtransfer_copy_constructible<char const*, char*, char const*>::type boost::container::uninitialized_copy_alloc_n_source<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*, char*>(boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>&, char const*, unsigned long, char*) /root/ceph-19.0.0/build/boost/include/boost/container/detail/copy_move_algo.hpp:600:11 #3 0xffffafc23734 in void boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*>::uninitialized_copy_n_and_update<char*>(boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>&, char*, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/detail/advanced_insert_int.hpp:85:22 #4 0xffffafc23734 in void boost::container::expand_forward_and_insert_alloc<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char*, boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*> >(boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>&, char*, char*, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*>) /root/ceph-19.0.0/build/boost/include/boost/container/detail/copy_move_algo.hpp:1469:23 #5 0xffffafc23734 in void boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_insert_forward_range_expand_forward<boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*> >(char*, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*>, boost::move_detail::integral_constant<bool, false>) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:3058:7 #6 0xffffafc23734 in boost::container::vec_iterator<char*, false> boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_insert_forward_range<boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*> >(char* const&, unsigned long, boost::container::dtl::insert_range_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const*>) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:2890:16 #7 0xffffafc23734 in boost::container::vec_iterator<char*, false> boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::insert<char const*>(boost::container::vec_iterator<char*, true>, char const*, char const*, boost::move_detail::disable_if_or<void, boost::move_detail::is_convertible<char const*, unsigned long>, boost::container::dtl::is_input_iterator<char const*, has_iterator_category<char const*>::value>, boost::move_detail::bool_<false>, boost::move_detail::bool_<false> >::type*) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:2088:20 #8 0xffffafc23734 in ceph::logging::ConcreteEntry::ConcreteEntry(ceph::logging::Entry const&) /root/ceph-19.0.0/src/log/Entry.h:84:9 #9 0xffffafc21a88 in decltype(new ((void*)(0))ceph::logging::ConcreteEntry(std::declval<ceph::logging::Entry>())) std::construct_at<ceph::logging::ConcreteEntry, ceph::logging::Entry>(ceph::logging::ConcreteEntry*, ceph::logging::Entry&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/stl_construct.h:97:39 #10 0xffffafc21198 in void std::allocator_traits<std::allocator<ceph::logging::ConcreteEntry> >::construct<ceph::logging::ConcreteEntry, ceph::logging::Entry>(std::allocator<ceph::logging::ConcreteEntry>&, ceph::logging::ConcreteEntry*, ceph::logging::Entry&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:518:4 #11 0xffffafc16464 in ceph::logging::ConcreteEntry& std::vector<ceph::logging::ConcreteEntry, std::allocator<ceph::logging::ConcreteEntry> >::emplace_back<ceph::logging::Entry>(ceph::logging::Entry&&) /usr/bin/../lib/gcc/aarch64-linux-gnu/11/../../../../include/c++/11/bits/vector.tcc:115:6 #12 0xffffafc0dcbc in ceph::logging::Log::submit_entry(ceph::logging::Entry&&) /root/ceph-19.0.0/src/log/Log.cc:265:9 #13 0xaaaadd41a404 in Log_StderrPipeBig_Test::TestBody() /root/ceph-19.0.0/src/log/test.cc:280:9 #14 0xaaaade0b4338 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2605:10 #15 0xaaaade061244 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2641:14 #16 0xaaaade012680 in testing::Test::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2680:5 #17 0xaaaade0145c4 in testing::TestInfo::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2858:11 #18 0xaaaade015bc4 in testing::TestSuite::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:3012:28 #19 0xaaaade031988 in testing::internal::UnitTestImpl::RunAllTests() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:5723:44 #20 0xaaaade0be24c in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2605:10 #21 0xaaaade0687dc in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2641:14 #22 0xaaaade030e00 in testing::UnitTest::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:5306:10 #23 0xaaaadd425c48 in RUN_ALL_TESTS() /root/ceph-19.0.0/src/googletest/googletest/include/gtest/gtest.h:2486:46 #24 0xaaaadd4207a0 in main /root/ceph-19.0.0/src/log/test.cc:503:10 #25 0xffffac3473f8 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 #26 0xffffac3474c8 in __libc_start_main csu/../csu/libc-start.c:392:3 #27 0xaaaadd364d6c in _start (/root/ceph-19.0.0/build/bin/unittest_log+0x384d6c) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409) 0xffff96e01d00 is located 0 bytes inside of 6553-byte region [0xffff96e01d00,0xffff96e03699) freed by thread T0 here: #0 0xaaaadd4136f0 in operator delete(void*) (/root/ceph-19.0.0/build/bin/unittest_log+0x4336f0) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409) #1 0xaaaadd434968 in boost::container::new_allocator<char>::deallocate(char*, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/new_allocator.hpp:171:7 #2 0xaaaadd434934 in boost::container::allocator_traits<boost::container::new_allocator<char> >::deallocate(boost::container::new_allocator<char>&, char*, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/allocator_traits.hpp:308:9 #3 0xaaaadd434934 in boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>::deallocate(char*, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/small_vector.hpp:255:10 #4 0xaaaadd43911c in boost::container::allocator_traits<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void> >::deallocate(boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>&, char*, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/allocator_traits.hpp:308:9 #5 0xaaaadd43911c in boost::container::vector_alloc_holder<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, unsigned long, boost::move_detail::integral_constant<unsigned int, 1u> >::deallocate(char* const&, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:487:7 #6 0xaaaadd43911c in void boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_insert_forward_range_new_allocation<boost::container::dtl::insert_emplace_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const&> >(char*, unsigned long, char*, unsigned long, boost::container::dtl::insert_emplace_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const&>) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:3080:25 #7 0xaaaadd438aec in boost::container::vec_iterator<char*, false> boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_insert_forward_range_no_capacity<boost::container::dtl::insert_emplace_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const&> >(char*, unsigned long, boost::container::dtl::insert_emplace_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const&>, boost::move_detail::integral_constant<unsigned int, 1u>) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:2830:13 #8 0xaaaadd4328bc in char& boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::emplace_back<char const&>(char const&) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:1888:24 #9 0xaaaadd4328bc in void boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_push_back<char const&>(char const&) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:2746:13 #10 0xaaaadd4328bc in boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::push_back(char const&) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:1996:4 #11 0xaaaadd4328bc in StackStringBuf<4096ul>::overflow(int) /root/ceph-19.0.0/src/common/StackStringStream.h:79:11 #12 0xffffac6d3dac in std::ostream::put(char) (/lib/aarch64-linux-gnu/libstdc++.so.6+0x133dac) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02) #13 0xffffac6d4aac in std::basic_ostream<char, std::char_traits<char> >& std::operator<<<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char) (/lib/aarch64-linux-gnu/libstdc++.so.6+0x134aac) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02) #14 0xaaaadd41a3c8 in Log_StderrPipeBig_Test::TestBody() /root/ceph-19.0.0/src/log/test.cc:278:9 #15 0xaaaade0b4338 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2605:10 #16 0xaaaade061244 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2641:14 #17 0xaaaade012680 in testing::Test::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2680:5 #18 0xaaaade0145c4 in testing::TestInfo::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2858:11 #19 0xaaaade015bc4 in testing::TestSuite::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:3012:28 #20 0xaaaade031988 in testing::internal::UnitTestImpl::RunAllTests() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:5723:44 #21 0xaaaade0be24c in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2605:10 #22 0xaaaade0687dc in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2641:14 #23 0xaaaade030e00 in testing::UnitTest::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:5306:10 #24 0xaaaadd425c48 in RUN_ALL_TESTS() /root/ceph-19.0.0/src/googletest/googletest/include/gtest/gtest.h:2486:46 #25 0xaaaadd4207a0 in main /root/ceph-19.0.0/src/log/test.cc:503:10 #26 0xffffac3473f8 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 #27 0xffffac3474c8 in __libc_start_main csu/../csu/libc-start.c:392:3 #28 0xaaaadd364d6c in _start (/root/ceph-19.0.0/build/bin/unittest_log+0x384d6c) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409) previously allocated by thread T0 here: #0 0xaaaadd412e88 in operator new(unsigned long) (/root/ceph-19.0.0/build/bin/unittest_log+0x432e88) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409) #1 0xaaaadd433ec0 in boost::container::new_allocator<char>::allocate(unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/new_allocator.hpp:160:30 #2 0xaaaadd438a68 in boost::container::allocator_traits<boost::container::new_allocator<char> >::priv_allocate(boost::move_detail::integral_constant<bool, false>, boost::container::new_allocator<char>&, unsigned long, void const*) /root/ceph-19.0.0/build/boost/include/boost/container/allocator_traits.hpp:395:16 #3 0xaaaadd438a68 in boost::container::allocator_traits<boost::container::new_allocator<char> >::allocate(boost::container::new_allocator<char>&, unsigned long, void const*) /root/ceph-19.0.0/build/boost/include/boost/container/allocator_traits.hpp:318:14 #4 0xaaaadd438a68 in boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>::allocate(unsigned long, void const*) /root/ceph-19.0.0/build/boost/include/boost/container/small_vector.hpp:248:14 #5 0xaaaadd438a68 in boost::container::allocator_traits<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void> >::allocate(boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>&, unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/allocator_traits.hpp:302:16 #6 0xaaaadd438a68 in boost::container::vector_alloc_holder<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, unsigned long, boost::move_detail::integral_constant<unsigned int, 1u> >::allocate(unsigned long) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:482:14 #7 0xaaaadd438a68 in boost::container::vec_iterator<char*, false> boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_insert_forward_range_no_capacity<boost::container::dtl::insert_emplace_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const&> >(char*, unsigned long, boost::container::dtl::insert_emplace_proxy<boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, char const&>, boost::move_detail::integral_constant<unsigned int, 1u>) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:2826:73 #8 0xaaaadd4328bc in char& boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::emplace_back<char const&>(char const&) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:1888:24 #9 0xaaaadd4328bc in void boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::priv_push_back<char const&>(char const&) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:2746:13 #10 0xaaaadd4328bc in boost::container::vector<char, boost::container::small_vector_allocator<char, boost::container::new_allocator<void>, void>, void>::push_back(char const&) /root/ceph-19.0.0/build/boost/include/boost/container/vector.hpp:1996:4 #11 0xaaaadd4328bc in StackStringBuf<4096ul>::overflow(int) /root/ceph-19.0.0/src/common/StackStringStream.h:79:11 #12 0xffffac6d3dac in std::ostream::put(char) (/lib/aarch64-linux-gnu/libstdc++.so.6+0x133dac) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02) #13 0xffffac6d4aac in std::basic_ostream<char, std::char_traits<char> >& std::operator<<<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char) (/lib/aarch64-linux-gnu/libstdc++.so.6+0x134aac) (BuildId: a012b2bb77110e84b266cd7425b50e57427abb02) #14 0xaaaadd41a3c8 in Log_StderrPipeBig_Test::TestBody() /root/ceph-19.0.0/src/log/test.cc:278:9 #15 0xaaaade0b4338 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2605:10 #16 0xaaaade061244 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2641:14 #17 0xaaaade012680 in testing::Test::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2680:5 #18 0xaaaade0145c4 in testing::TestInfo::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2858:11 #19 0xaaaade015bc4 in testing::TestSuite::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:3012:28 #20 0xaaaade031988 in testing::internal::UnitTestImpl::RunAllTests() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:5723:44 #21 0xaaaade0be24c in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2605:10 #22 0xaaaade0687dc in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:2641:14 #23 0xaaaade030e00 in testing::UnitTest::Run() /root/ceph-19.0.0/src/googletest/googletest/src/gtest.cc:5306:10 #24 0xaaaadd425c48 in RUN_ALL_TESTS() /root/ceph-19.0.0/src/googletest/googletest/include/gtest/gtest.h:2486:46 #25 0xaaaadd4207a0 in main /root/ceph-19.0.0/src/log/test.cc:503:10 #26 0xffffac3473f8 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 #27 0xffffac3474c8 in __libc_start_main csu/../csu/libc-start.c:392:3 #28 0xaaaadd364d6c in _start (/root/ceph-19.0.0/build/bin/unittest_log+0x384d6c) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409) SUMMARY: AddressSanitizer: heap-use-after-free (/root/ceph-19.0.0/build/bin/unittest_log+0x3fb750) (BuildId: 6fd965435d12fd345de38dddc8723053b9877409) in __asan_memmove Shadow bytes around the buggy address: 0x200ff2dc0350: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x200ff2dc0360: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x200ff2dc0370: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x200ff2dc0380: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x200ff2dc0390: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa =>0x200ff2dc03a0:[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x200ff2dc03b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x200ff2dc03c0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x200ff2dc03d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x200ff2dc03e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x200ff2dc03f0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb ==3302372==ABORTING ``` vec.push_back(str) will allocate memory and release the old one once there is insufficient memory which causing the old one to be invalid. So streambuf's data pointer and insertion position should be updated to newly allocated memory's address in vec. Fixes: https://tracker.ceph.com/issues/65805 Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
2024-05-05doc/mgr: edit "Resolve IP address to hostname before redirect"Zac Dover1-8/+18
Edit the section "Resolve IP address to hostname before redirect" in doc/mgr/dashboard.rst. Signed-off-by: Zac Dover <zac.dover@proton.me>
2024-05-05rbd-mirror: remove callout when destroying pool replayerIlya Dryomov4-0/+229
If a pool replayer is removed in an error state (e.g. after failing to connect to the remote cluster), its callout should be removed as well. Otherwise, the error would persist causing "daemon health: ERROR" status to be reported even after a new pool replayer is created and started successfully. Fixes: https://tracker.ceph.com/issues/65487 Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2024-05-04test/objectstore/test_bluefs: fix heap-use-after-freeKefu Chai1-15/+27
this change was created in the same spirit of b8c30a79. in BlueFS.test_shared_alloc and BlueFS.test_shared_alloc_sparse, we keep the return value of `fs.get_perf_counters()`, and dereference it after umounting the fs, but the `PerfCounters*` pointer returned from `fs.get_perf_counters()` is destroyed in `BlueFS::_shutdown_logger()` which is in turn called by `BlueFS::umount()`. so ASan points this out: ``` ==548153==ERROR: AddressSanitizer: heap-use-after-free on address 0x6110000336c0 at pc 0x7fc810326654 bp 0x7ffd869be8f0 sp 0x7ffd869be8e8 READ of size 8 at 0x6110000336c0 thread T0 #0 0x7fc810326653 in ceph::common::PerfCounters::get(int) const /home/jenkins-build/build/workspace/ceph-pull-requests/src/common/perf_counters.cc:246:8 #1 0x564e7a5397a5 in BlueFS_test_shared_alloc_sparse_Test::TestBody() /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/objectstore/test_bluefs.cc:1265:3 #2 0x564e7a644006 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2605:10 #3 0x564e7a5fdbc2 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2641:14 #4 0x564e7a5ae7ec in testing::Test::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2680:5 #5 0x564e7a5b0822 in testing::TestInfo::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2858:11 #6 0x564e7a5b1e5b in testing::TestSuite::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:3012:28 #7 0x564e7a5cf2e8 in testing::internal::UnitTestImpl::RunAllTests() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:5723:44 #8 0x564e7a64c8b6 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2605:10 #9 0x564e7a604662 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2641:14 #10 0x564e7a5ce672 in testing::UnitTest::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:5306:10 #11 0x564e7a55a410 in RUN_ALL_TESTS() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/include/gtest/gtest.h:2486:46 #12 0x564e7a551295 in main /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/objectstore/test_bluefs.cc:1609:10 #13 0x7fc80d775d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 #14 0x7fc80d775e3f in __libc_start_main csu/../csu/libc-start.c:392:3 #15 0x564e7a4296a4 in _start (/home/jenkins-build/build/workspace/ceph-pull-requests/build/bin/unittest_bluefs+0x2856a4) (BuildId: fd4e4e0b1c2f9a3b0c1a7051d8ed68b3576e3277) 0x6110000336c0 is located 0 bytes inside of 208-byte region [0x6110000336c0,0x611000033790) freed by thread T0 here: #0 0x564e7a4e7b1d in operator delete(void*) (/home/jenkins-build/build/workspace/ceph-pull-requests/build/bin/unittest_bluefs+0x343b1d) (BuildId: fd4e4e0b1c2f9a3b0c1a7051d8ed68b3576e3277) #1 0x564e7a686ce3 in BlueFS::_shutdown_logger() /home/jenkins-build/build/workspace/ceph-pull-requests/src/os/bluestore/BlueFS.cc:462:3 #2 0x564e7a6a9b55 in BlueFS::umount(bool) /home/jenkins-build/build/workspace/ceph-pull-requests/src/os/bluestore/BlueFS.cc:1076:3 #3 0x564e7a539767 in BlueFS_test_shared_alloc_sparse_Test::TestBody() /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/objectstore/test_bluefs.cc:1262:6 #4 0x564e7a644006 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2605:10 #5 0x564e7a5fdbc2 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2641:14 #6 0x564e7a5ae7ec in testing::Test::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2680:5 #7 0x564e7a5b0822 in testing::TestInfo::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2858:11 #8 0x564e7a5b1e5b in testing::TestSuite::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:3012:28 #9 0x564e7a5cf2e8 in testing::internal::UnitTestImpl::RunAllTests() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:5723:44 #10 0x564e7a64c8b6 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2605:10 #11 0x564e7a604662 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:2641:14 #12 0x564e7a5ce672 in testing::UnitTest::Run() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/src/gtest.cc:5306:10 #13 0x564e7a55a410 in RUN_ALL_TESTS() /home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/include/gtest/gtest.h:2486:46 #14 0x564e7a551295 in main /home/jenkins-build/build/workspace/ceph-pull-requests/src/test/objectstore/test_bluefs.cc:1609:10 #15 0x7fc80d775d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 ``` in this change, instead of keeping `logger` across the `umount()` and `mount()` calls, we get another instance of `logger`, query it for the perf counter that we are interested, and compare the value to see if it is unchanged. this should address the ASan warning above. Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2024-05-03rgw: move publish_complete() back to RGWCompleteMultipart::execute()Casey Bodley2-39/+22
move publish_complete() and meta_obj->delete_object() back to execute() so they only run on success. this allows several member variables to move back to execute()'s stack as well Fixes: https://tracker.ceph.com/issues/65746 Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-05-03rgw: CompleteMultipart uses s->object for NotificationCasey Bodley1-9/+7
get_notification() should be associated with the target object s->object. the meta_obj has the wrong object name, so required passing s->object->get_name() as an extra argument importantly, Notification no longer depends on the lifetime of meta_obj to avoid a dangling pointer, while the lifetime of s->object is guaranteed Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-05-03rgw: CompleteMultipart uses s->object instead of target_objCasey Bodley2-14/+7
most requests operate directly on s->object. there's no reason to allocate a separate target_obj for the same purpose Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-05-03doc/foundation: Updating members for Jan 2024Mike Perez1-16/+20
Signed-off-by: Mike Perez <thingee@gmail.com>
2024-05-03qa/rgw/d4n: run ceph_test_d4n_ testsCasey Bodley2-0/+10
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-05-03test/rgw/notification: prevent failed http tests from hangingYuval Lifshitz1-0/+1
this is a regressions from: 673adcbdbd01e64c8b76c3176e062571fb8710ac Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
2024-05-03qa/cephfs: fix test_multifs_single_path_rootsquashRishabh Dave1-18/+20
test_multifs_single_path_rootsquash was never run with vstart_runner.py or with teuthology and is therefore full of bugs. Fix it to make sure it runs fine. Introduced-by: 1fda8ed2d4a9 Fixes: https://tracker.ceph.com/issues/65246 Signed-off-by: Rishabh Dave <ridave@redhat.com>
2024-05-03qa/cephfs: run test_multifs_single_path_rootsquash for kclient tooRishabh Dave1-4/+0
Root squash is valid for kclient too, Kotresh ran test recently fo it against main branch. Therefore it is safe to remove. https://github.com/ceph/ceph/pull/56846#discussion_r1587507868 Signed-off-by: Rishabh Dave <ridave@redhat.com>
2024-05-03doc/rados: PR#57022 unfinished businessZac Dover1-1/+1
Make the changes suggested by Anthony D'Atri in https://github.com/ceph/ceph/pull/57022. Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com> Signed-off-by: Zac Dover <zac.dover@proton.me>
2024-05-02qa/config/crimson_qa_overrides: adjust mgr_stats_periodMatan Breizman1-0/+2
Some test jobs fail with `local_shared_foreign_ptr: Assertion `ptr && *ptr' failed` It seems that we attempt to use a connection which is not yet ready to use after setting up the daemons on boot. Adjust the mgr_stats_period to allow more time for the daemons to set up. See: https://tracker.ceph.com/issues/62162#note-10 Note: This is not a fix but more of a temporary solution to avoid noise in the testing suite (Tracker stays open). Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2024-05-02rgw/s3-notifications: removed logic to dump POST body to prevent printing ↵igomon1-2/+0
password associated with topics Signed-off-by: Igor Gomon <igomon@bloomberg.net>
2024-05-02crimson/osd: make osd_op_params::at_version coherent with last log entryRadoslaw Zarzynski2-3/+5
Before this commit we were doing something like: 1. initialize `at_version` with PG::projected_last_update` **incremented by one**. 2. produce a log entry at such version. 3. increment `at_version` for the sake of a further production that may never come. The problem is `osd_op_params::at_version` is higher by one than the last log entry which hurts at later stages of `osd_op_params` processing (I was hit in the shared EC code by the assertion in `PG::op_applied`). This patch changes the algorithm to: A. initialize `at_version` with PG::projected_last_update` **incremented by one**. B. increment `at_version` for the sake of the very next production. C. produce a log entry at this version. Co-authored-by: Matan Breizman <mbreizma@redhat.com> Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2024-05-02qa/workunits/erasure-code: add bench data tables and graph support for ↵Connor Fawcett5-20/+211
additional jerasure techniques Signed-off-by: Connor Fawcett <connorfa@uk.ibm.com>
2024-05-02mgr/dashboard: fix cluster filter typo in multi-cluster-overviewAashish Sharma2-4/+4
grafana dashboard Fixes: https://tracker.ceph.com/issues/65760 Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2024-05-02common: mark assert-only variables as unusedRonen Friedman1-2/+2
to remove compiler warnings. Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2024-05-01rgw/notification: Do not log full endpoint as it could contain broker password.kchheda31-1/+7
Signed-off-by: kchheda3 <kchheda3@bloomberg.net>
2024-05-01RGW: test for exact match if the test is not persistentAli Masarwa1-4/+5
Signed-off-by: Ali Masarwa <amasarwa@redhat.com>
2024-05-01doc/rados: s/cepgsqlite/cephsqlite/Zac Dover1-1/+1
As stated in the commit-message line, this corrects the typo "cepg" to the correct string "ceph". This typo was discovered by https://github.com/test-erik and this was brought to our attention way back in https://github.com/ceph/ceph/pull/50420. Signed-off-by: Zac Dover <zac.dover@proton.me>
2024-05-01crimson/osd: s/fill_op_params_bump_pg_version/fill_op_params/ in OpsExecuterRadoslaw Zarzynski2-3/+3
Since https://github.com/ceph/ceph/pull/53054 it doesn't bump `PG::projected_last_update` anymore. Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2024-05-01crimson/osd: on the cloning path bump obj version closer to its usageRadoslaw Zarzynski1-1/+2
My understanding at the time of writing is this change is a pure refactoring. Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>