unit tests for src/common/buffer.{cc,h} #41
Closed
Conversation
added 2 commits
February 11, 2013 15:20
The following static constructors are implemented by opaque classes defined in buffer.cc ( buffer::raw_char, buffer::raw_posix_aligned etc. ). Testing the implementation of these classes is done by variations of the calls to the static constructors. copy(const char *c, unsigned len); create(unsigned len); claim_char(unsigned len, char *buf); create_malloc(unsigned len); claim_malloc(unsigned len, char *buf); create_static(unsigned len, char *buf); create_page_aligned(unsigned len); The raw_mmap_pages class cannot be tested because it is commented out in raw_posix_aligned. The raw_hack_aligned class is only tested under Cygwin. The raw_posix_aligned class is not tested under Cygwin. The unittest_bufferlist.sh script calls unittest_bufferlist with the CEPH_BUFFER_TRACK=true environment variable to enable the code tracking the memory usage. It cannot be done within the bufferlist.cc file itself because it relies on the initialization of a global variable ( buffer_track_alloc ). When raw_posix_aligned is called on DARWIN, the data is not aligned on CEPH_PAGE_SIZE because it calls valloc(size) which is the equivalent of memalign(sysconf(_SC_PAGESIZE),size) and not memalign(CEPH_PAGE_SIZE,size). For this reason the alignment test is de-activated on DARWIN. tracker.ceph.com/issues/4066 refs #4066 Signed-off-by: Loic Dachary <loic@dachary.org>
Author
|
I'll submit the pull again when it's complete. |
Member
|
These look good! Can you put a proper comment on 2019d41? Thanks! |
Author
|
Josh D. suggested that I complete the tests instead of submitting small chunks. I was worried it would be too large but he says he is confortable with a large patch, as long as it's only tests. |
theanalyst
pushed a commit
to theanalyst/ceph
that referenced
this pull request
May 23, 2016
global: don't link lttng into libglobal
tchaikov
pushed a commit
to tchaikov/ceph
that referenced
this pull request
May 23, 2017
Wip mgr stats
smithfarm
pushed a commit
to smithfarm/ceph
that referenced
this pull request
Jun 22, 2017
Various usability and documentation fixes
smithfarm
pushed a commit
to smithfarm/ceph
that referenced
this pull request
Jun 23, 2017
Various usability and documentation fixes
tchaikov
added a commit
to tchaikov/ceph
that referenced
this pull request
Oct 19, 2017
tspmelo
added a commit
to tspmelo/ceph
that referenced
this pull request
Jan 29, 2018
mgr/dashboard_v2: simplify router and fix navigation
dotnwat
added a commit
that referenced
this pull request
Jul 29, 2018
Fix bogus duration handling in IOContext.Lock* Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
sdpeters
pushed a commit
to sdpeters/ceph
that referenced
this pull request
May 29, 2019
…limit, While there's no IO problem when rwl_size=1G Signed-off-by: Yuan Lu <yuan.y.lu@intel.com>
sdpeters
added a commit
to sdpeters/ceph
that referenced
this pull request
May 29, 2019
for Ceph RBD. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Resorting to pruning out tests that fail with RWL. Don't add RWL on images with the MIGRATING feature bit They src and dest may have the same image name. Also don't create image writeback at all if there is no image cache configured. Make deep copy test use different image names for src and dest Fix tests for added async completions, used whether RWL is enabled or not. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> This block guard implementation isn't used anymore Handle zero length requests Tighten up block guard release. Remove assert for what wasn't a bug. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Skip these tests when RWL is enabled for now. It's unclear whether they should work with the cache enabled or not. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Do a flush() before shut_down() to complete all in-flight writes and append a final sync point. Flush to RADOS on ::flush() Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make DiscardCopyup test not simultaneously open the same image > once Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Replaced ineffective pmem_bl copies. TestInternal passes now with RWL enabled. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> TestFUA is incompatible with RWL (multiple open of same image) Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Internal flush may be called before init succeeds Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make RWL perf logging configurable Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Require !RWL for tests that open images > once Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Log image name and ID in key ops. Use async completion to avoid a deadlock seen during testing Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Flush/invalidate image cache during Resize Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Disable more tests that open images > once. DeepCopy tests shoudl work on RWL, but don't. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make invalidate after flush configurable Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> When RWL is enabled, set environment variable to skip actual PMDK persist work Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> All migration tests skipped when RWL is enabled. Migration probably needs to disable ImageCache first. One more DeepCopy test that dosn't work with RWL. Tweak tests to not open images > once Tests can close all images before fixture teardown. Avoids reopens that fil with write-back cache. Allow saved image_ctxs to be closed by name Close the image before re-opening it Skip tests that reopen images when RWL is enabled Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Disable slow PMDK persistence in tests Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Consolidate constructors Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Force init, shutdown, and flush() completions to op_work_queue Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Didn't need a special case for image cache after all Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix apparent copy-and-paste error from KernelDevice.cc Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Revert gratuitous whitespace changes Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Adds IMAGE_CACHE feature bit. Moves image cache init logic to ImageState This is in prep. for initializing ImageCache during exclusive lock acquire. Add types for image cache config Can fetch image cache state during open Record ImageCache state on image close Init & shut down image cache in exclusive lock acquire/release Disable checks for dirty. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Lock tests expect specific feature tests Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Remove deprecated io prio calls Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Include image-cache feature options Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make mock tests work with IMAGE_CACHE feature on Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make more tests work with IMAGE_CACHE feature enabled Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> More adaptation to the feature bit universe Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Reworked ImageRequestWQ<>::flush() to use ::aio_flush() again, but with a FlushSource arg. Avoids use of flush_image(), which I think was getting blocked with the user requests in the DeepCopy test, which was failing. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Flush to journal for internal or user flush. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Undo previous. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Add IMAGE_CACHE cases to RBD unit test Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix apparent copy-and-paste error Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Don't build PMDK or RWL on ARM while PMDK on ARM64 is still experimental Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Skip test_librbd when features includes IMAGE_CACHE, but WITH_RWL is not defined. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make read_only flag const, since that's how it's used Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix message Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Don't init image cache when opening R/O unless there's a dirty one Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Add evn vars to inhibit flush and retire on close for RWL debugging Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Add ImageCache action to build Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Add env vars for testing image cache rbd tool actions There's a regression here, but I'm committing anyway so I can migrate to gitlab now. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix lockdep issue in shutdown when not flushing/retiring. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Use FLUSH_SOURCE_SHUTDOWN to identify shutown flushes. In general, a whoile lot of plumbing to get the ability to suppress RWL flushing on close, so we can test removing and discarding the image-cache with the rbd tool. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix rbd cli test output for new image-cache comand and --no-flush option to bench Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Clean up logging from previous test Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix expected calls of block_writes() which now include the flush source. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Always init exclusive lock when the image cache feature is enabled. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Remove bogus assert Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Checkpoint rbd image-cache command Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Revert "Always init exclusive lock when the image cache feature is enabled." This reverts commit 314c82f. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix message Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Track image-cache option changes Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fixed some things clang didn't like, which may have broken rtags Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Split WITH_PMEM into WITH_PMEM_DEVICE and WITH_PMDK WITH_PMDK causes the PMDK (/NVML) to be built. WITH_PMEM_DEVICE causes the PMEM OSD to be built. WITH_PMEM_DEVICE, or WITH_RWL requires WITH_PMDK Primordial support for WITH_PMDK_PKG enables use of PMDK installed on platform. We'd probably like finer grained control over this (build most of Ceph without PMDK installed, and make PMDK an install dependency for only a few selected things). We can now enable RWL without requiring the PMEM OSD to build and pass tests. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Don't assert if exclusive lock release failed. On failure, these things may not have been done. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Also make etags file ctags -e, into src/TAGS. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Revert "Don't assert if exclusive lock release failed." This reverts commit 184ba6f5e97357380d30f8012f28c34c38e6818c Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Disable almost all deep copy tests when RWL is enabled These used to pass, and made interesting test cases, but it probably doesn't make sense to do this with the cache enabled anyway. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Ignore etags file TAGS Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Adds ReplicatedWriteLogInternal.h Hopefully trims enough off of ReplicatedWriteLog.cc that gitlab will show the diffs in a merge request. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Shift more things from RWL.cc to RWLInternal.h Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Finish moving lines Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> One more try for gitlab-friendly file sizes. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> To fix IO hange problem caused by aio_flush. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Add IO test for RWL It does IO test with RWL, and tries to cover the test case when RWL cache is full. But it is not guranteed. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix the bug 'First IO hangs if RWL can't be initialized'. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Update default and minimum value of rwl_size. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fixes the image-cache show command Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Update RWL full case to use default value. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Add pool name in the name of rwl cache file. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fixed rebase issues. Look closer at whether FLUSH_SOURCE_WRITEBACK should be a no-op in RWL, or an assert. Look closer at discard granularity passed to lower cache. This replaces skip_partial. We were always passing skip_partial = false, so the RWL and the image got the same discard results (regions which read as zero, vs. whatever was there before). Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix expected usage output Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Probably rebase noise Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Repeat compare buffer as necessary to match length of read in compare-and-write Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Disable some more migration tests when IMAGE_CACHE feature is enabled. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> fix image-cache disable feature command Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Start rwl threads after rwl_init. Signed-off-by: Li Xiaoyan <xiaoyan.li@intel.com> change ENOENT to EPERM when open image cache failed; Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> fixed issue ceph#35: If the image metadata says there is no cache, any existing pool file with the same name should be deleted. Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> only image cache state.present=0 and has pool file, then del the pool file with the same name; Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> do this in rwl_int() function; Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> Pass through everything to writeback interface Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> fix ceph#41:IO hang when rwl_size = 10G or 20G and without rate_iops limit, While there's no IO problem when rwl_size=1G Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> add high/low water log entries threshold and trigger it to retire entries when there's no enough log entries; Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> clean indent issue; Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> modify indentation based on Scott's feedback; Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> Fix the issue of flushing rwl cache when showing image cache. Signed-off-by: Xiaoyan Li <xiaoyan.li@intel.com> Fix image-cache show issue. Signed-off-by: Xiaoyan Li <xiaoyan.li@intel.com> image-cache discard-dirty CLI command Signed-off-by: Mahati Chamarthy <mahati.chamarthy@intel.com> pmemobj_close won't fail. Signed-off-by: Xiaoyan Li <xiaoyan.li@intel.com> Rebase repairs. Mostly trivial except async op handling in flush. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make imageFlushRequest::send_request() more like it was before the rebase. All in pursuit of issue ceph#48 after the latest rebase. The aio_comp() operations in comments there cause an assert in init or open now. FLUSH_SOURCE_WRITEBACK requests complete synchonously now, like they did before the rebase. None of this fixes the test assert in issue ceph#48. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Replace namespace declaration that is present in master but not our branch Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Supplied initial values for things not initialized by all constructors I saw compiler warnings about these fields being used uninitialized and thought it might be related to the rebase regression (it probably isn't). It does look like these could be left uninitialized if the ReplicatedWriteLogSpec constructor with no argumets was used. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Bad merge Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix unit test problem. Signed-off-by: Xiaoyan Li <xiaoyan.li@intel.com>
sdpeters
pushed a commit
to sdpeters/ceph
that referenced
this pull request
May 29, 2019
…limit, While there's no IO problem when rwl_size=1G Signed-off-by: Yuan Lu <yuan.y.lu@intel.com>
sdpeters
added a commit
to sdpeters/ceph
that referenced
this pull request
May 31, 2019
for Ceph RBD. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Resorting to pruning out tests that fail with RWL. Don't add RWL on images with the MIGRATING feature bit They src and dest may have the same image name. Also don't create image writeback at all if there is no image cache configured. Make deep copy test use different image names for src and dest Fix tests for added async completions, used whether RWL is enabled or not. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> This block guard implementation isn't used anymore Handle zero length requests Tighten up block guard release. Remove assert for what wasn't a bug. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Skip these tests when RWL is enabled for now. It's unclear whether they should work with the cache enabled or not. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Do a flush() before shut_down() to complete all in-flight writes and append a final sync point. Flush to RADOS on ::flush() Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make DiscardCopyup test not simultaneously open the same image > once Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Replaced ineffective pmem_bl copies. TestInternal passes now with RWL enabled. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> TestFUA is incompatible with RWL (multiple open of same image) Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Internal flush may be called before init succeeds Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make RWL perf logging configurable Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Require !RWL for tests that open images > once Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Log image name and ID in key ops. Use async completion to avoid a deadlock seen during testing Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Flush/invalidate image cache during Resize Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Disable more tests that open images > once. DeepCopy tests shoudl work on RWL, but don't. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make invalidate after flush configurable Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> When RWL is enabled, set environment variable to skip actual PMDK persist work Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> All migration tests skipped when RWL is enabled. Migration probably needs to disable ImageCache first. One more DeepCopy test that dosn't work with RWL. Tweak tests to not open images > once Tests can close all images before fixture teardown. Avoids reopens that fil with write-back cache. Allow saved image_ctxs to be closed by name Close the image before re-opening it Skip tests that reopen images when RWL is enabled Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Disable slow PMDK persistence in tests Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Consolidate constructors Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Force init, shutdown, and flush() completions to op_work_queue Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Didn't need a special case for image cache after all Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix apparent copy-and-paste error from KernelDevice.cc Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Revert gratuitous whitespace changes Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Adds IMAGE_CACHE feature bit. Moves image cache init logic to ImageState This is in prep. for initializing ImageCache during exclusive lock acquire. Add types for image cache config Can fetch image cache state during open Record ImageCache state on image close Init & shut down image cache in exclusive lock acquire/release Disable checks for dirty. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Lock tests expect specific feature tests Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Remove deprecated io prio calls Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Include image-cache feature options Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make mock tests work with IMAGE_CACHE feature on Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make more tests work with IMAGE_CACHE feature enabled Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> More adaptation to the feature bit universe Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Reworked ImageRequestWQ<>::flush() to use ::aio_flush() again, but with a FlushSource arg. Avoids use of flush_image(), which I think was getting blocked with the user requests in the DeepCopy test, which was failing. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Flush to journal for internal or user flush. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Undo previous. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Add IMAGE_CACHE cases to RBD unit test Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix apparent copy-and-paste error Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Don't build PMDK or RWL on ARM while PMDK on ARM64 is still experimental Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Skip test_librbd when features includes IMAGE_CACHE, but WITH_RWL is not defined. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make read_only flag const, since that's how it's used Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix message Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Don't init image cache when opening R/O unless there's a dirty one Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Add evn vars to inhibit flush and retire on close for RWL debugging Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Add ImageCache action to build Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Add env vars for testing image cache rbd tool actions There's a regression here, but I'm committing anyway so I can migrate to gitlab now. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix lockdep issue in shutdown when not flushing/retiring. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Use FLUSH_SOURCE_SHUTDOWN to identify shutown flushes. In general, a whoile lot of plumbing to get the ability to suppress RWL flushing on close, so we can test removing and discarding the image-cache with the rbd tool. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix rbd cli test output for new image-cache comand and --no-flush option to bench Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Clean up logging from previous test Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix expected calls of block_writes() which now include the flush source. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Always init exclusive lock when the image cache feature is enabled. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Remove bogus assert Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Checkpoint rbd image-cache command Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Revert "Always init exclusive lock when the image cache feature is enabled." This reverts commit 314c82f. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix message Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Track image-cache option changes Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fixed some things clang didn't like, which may have broken rtags Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Split WITH_PMEM into WITH_PMEM_DEVICE and WITH_PMDK WITH_PMDK causes the PMDK (/NVML) to be built. WITH_PMEM_DEVICE causes the PMEM OSD to be built. WITH_PMEM_DEVICE, or WITH_RWL requires WITH_PMDK Primordial support for WITH_PMDK_PKG enables use of PMDK installed on platform. We'd probably like finer grained control over this (build most of Ceph without PMDK installed, and make PMDK an install dependency for only a few selected things). We can now enable RWL without requiring the PMEM OSD to build and pass tests. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Don't assert if exclusive lock release failed. On failure, these things may not have been done. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Also make etags file ctags -e, into src/TAGS. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Revert "Don't assert if exclusive lock release failed." This reverts commit 184ba6f5e97357380d30f8012f28c34c38e6818c Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Disable almost all deep copy tests when RWL is enabled These used to pass, and made interesting test cases, but it probably doesn't make sense to do this with the cache enabled anyway. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Ignore etags file TAGS Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Adds ReplicatedWriteLogInternal.h Hopefully trims enough off of ReplicatedWriteLog.cc that gitlab will show the diffs in a merge request. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Shift more things from RWL.cc to RWLInternal.h Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Finish moving lines Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> One more try for gitlab-friendly file sizes. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> To fix IO hange problem caused by aio_flush. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Add IO test for RWL It does IO test with RWL, and tries to cover the test case when RWL cache is full. But it is not guranteed. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix the bug 'First IO hangs if RWL can't be initialized'. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Update default and minimum value of rwl_size. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fixes the image-cache show command Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Update RWL full case to use default value. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Add pool name in the name of rwl cache file. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fixed rebase issues. Look closer at whether FLUSH_SOURCE_WRITEBACK should be a no-op in RWL, or an assert. Look closer at discard granularity passed to lower cache. This replaces skip_partial. We were always passing skip_partial = false, so the RWL and the image got the same discard results (regions which read as zero, vs. whatever was there before). Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix expected usage output Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Probably rebase noise Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Repeat compare buffer as necessary to match length of read in compare-and-write Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Disable some more migration tests when IMAGE_CACHE feature is enabled. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> fix image-cache disable feature command Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Start rwl threads after rwl_init. Signed-off-by: Li Xiaoyan <xiaoyan.li@intel.com> change ENOENT to EPERM when open image cache failed; Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> fixed issue ceph#35: If the image metadata says there is no cache, any existing pool file with the same name should be deleted. Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> only image cache state.present=0 and has pool file, then del the pool file with the same name; Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> do this in rwl_int() function; Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> Pass through everything to writeback interface Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> fix ceph#41:IO hang when rwl_size = 10G or 20G and without rate_iops limit, While there's no IO problem when rwl_size=1G Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> add high/low water log entries threshold and trigger it to retire entries when there's no enough log entries; Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> clean indent issue; Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> modify indentation based on Scott's feedback; Signed-off-by: Yuan Lu <yuan.y.lu@intel.com> Fix the issue of flushing rwl cache when showing image cache. Signed-off-by: Xiaoyan Li <xiaoyan.li@intel.com> Fix image-cache show issue. Signed-off-by: Xiaoyan Li <xiaoyan.li@intel.com> image-cache discard-dirty CLI command Signed-off-by: Mahati Chamarthy <mahati.chamarthy@intel.com> pmemobj_close won't fail. Signed-off-by: Xiaoyan Li <xiaoyan.li@intel.com> Rebase repairs. Mostly trivial except async op handling in flush. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Make imageFlushRequest::send_request() more like it was before the rebase. All in pursuit of issue ceph#48 after the latest rebase. The aio_comp() operations in comments there cause an assert in init or open now. FLUSH_SOURCE_WRITEBACK requests complete synchonously now, like they did before the rebase. None of this fixes the test assert in issue ceph#48. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Replace namespace declaration that is present in master but not our branch Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Supplied initial values for things not initialized by all constructors I saw compiler warnings about these fields being used uninitialized and thought it might be related to the rebase regression (it probably isn't). It does look like these could be left uninitialized if the ReplicatedWriteLogSpec constructor with no argumets was used. Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Bad merge Signed-off-by: Scott Peterson <scott.d.peterson@intel.com> Fix unit test problem. Signed-off-by: Xiaoyan Li <xiaoyan.li@intel.com>
jecluis
pushed a commit
to jecluis/ceph
that referenced
this pull request
Sep 22, 2022
rgw/sfs: ACL implementation
athanatos
pushed a commit
to athanatos/ceph
that referenced
this pull request
Feb 14, 2025
ClientRec: instead of a copy of ClientInfo, keep a pointer to it Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
Matan-B
added a commit
to Matan-B/ceph
that referenced
this pull request
Jan 20, 2026
…yed static" ``` Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: AddressSanitizer:DEADLYSIGNAL Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ================================================================= Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ==3==ERROR: AddressSanitizer: stack-overflow on address 0x7b512f6c8dd8 (pc 0x0000046e7a72 bp 0x7b512de7c900 sp 0x7b512f6c8dd8 T0) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #0 0x0000046e7a72 in get_global_options() (/usr/bin/ceph-osd-crimson+0x46e7a72) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #1 0x0000046e540e in build_options() (/usr/bin/ceph-osd-crimson+0x46e540e) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #2 0x0000033b7949 in get_ceph_options() (/usr/bin/ceph-osd-crimson+0x33b7949) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#3 0x000003440540 in md_config_t::md_config_t(ConfigValues&, ConfigTracker const&, bool) (/usr/bin/ceph-osd-crimson+0x3440540) (BuildId: 2a860> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#4 0x0000046856a8 in crimson::common::ConfigProxy::ConfigProxy(EntityName const&, std::basic_string_view<char, std::char_traits<char> >) (/usr> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#5 0x000000eb6cb5 in seastar::shared_ptr_count_for<crimson::common::ConfigProxy>::shared_ptr_count_for<EntityName&, std::__cxx11::basic_string> .. Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#40 0x000000ed6434 in seastar::future<int> seastar::futurize<int>::apply<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::ope> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#41 0x000000ed672b in seastar::async<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::operator()() const::{lambda()#1}>(seast> ``` This reverts commit 1ab0a8c.
Matan-B
added a commit
to Matan-B/ceph
that referenced
this pull request
Jan 20, 2026
…yed static" ``` Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: AddressSanitizer:DEADLYSIGNAL Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ================================================================= Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ==3==ERROR: AddressSanitizer: stack-overflow on address 0x7b512f6c8dd8 (pc 0x0000046e7a72 bp 0x7b512de7c900 sp 0x7b512f6c8dd8 T0) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #0 0x0000046e7a72 in get_global_options() (/usr/bin/ceph-osd-crimson+0x46e7a72) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #1 0x0000046e540e in build_options() (/usr/bin/ceph-osd-crimson+0x46e540e) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #2 0x0000033b7949 in get_ceph_options() (/usr/bin/ceph-osd-crimson+0x33b7949) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#3 0x000003440540 in md_config_t::md_config_t(ConfigValues&, ConfigTracker const&, bool) (/usr/bin/ceph-osd-crimson+0x3440540) (BuildId: 2a860> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#4 0x0000046856a8 in crimson::common::ConfigProxy::ConfigProxy(EntityName const&, std::basic_string_view<char, std::char_traits<char> >) (/usr> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#5 0x000000eb6cb5 in seastar::shared_ptr_count_for<crimson::common::ConfigProxy>::shared_ptr_count_for<EntityName&, std::__cxx11::basic_string> .. Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#40 0x000000ed6434 in seastar::future<int> seastar::futurize<int>::apply<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::ope> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#41 0x000000ed672b in seastar::async<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::operator()() const::{lambda()#1}>(seast> ``` This reverts commit 1ab0a8c.
Matan-B
added a commit
to Matan-B/ceph
that referenced
this pull request
Jan 20, 2026
…yed static" ``` Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: AddressSanitizer:DEADLYSIGNAL Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ================================================================= Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ==3==ERROR: AddressSanitizer: stack-overflow on address 0x7b512f6c8dd8 (pc 0x0000046e7a72 bp 0x7b512de7c900 sp 0x7b512f6c8dd8 T0) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #0 0x0000046e7a72 in get_global_options() (/usr/bin/ceph-osd-crimson+0x46e7a72) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #1 0x0000046e540e in build_options() (/usr/bin/ceph-osd-crimson+0x46e540e) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #2 0x0000033b7949 in get_ceph_options() (/usr/bin/ceph-osd-crimson+0x33b7949) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#3 0x000003440540 in md_config_t::md_config_t(ConfigValues&, ConfigTracker const&, bool) (/usr/bin/ceph-osd-crimson+0x3440540) (BuildId: 2a860> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#4 0x0000046856a8 in crimson::common::ConfigProxy::ConfigProxy(EntityName const&, std::basic_string_view<char, std::char_traits<char> >) (/usr> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#5 0x000000eb6cb5 in seastar::shared_ptr_count_for<crimson::common::ConfigProxy>::shared_ptr_count_for<EntityName&, std::__cxx11::basic_string> .. Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#40 0x000000ed6434 in seastar::future<int> seastar::futurize<int>::apply<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::ope> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#41 0x000000ed672b in seastar::async<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::operator()() const::{lambda()#1}>(seast> ``` This reverts commit 1ab0a8c. Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Matan-B
added a commit
to Matan-B/ceph
that referenced
this pull request
Jan 21, 2026
…yed static" ``` Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: AddressSanitizer:DEADLYSIGNAL Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ================================================================= Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ==3==ERROR: AddressSanitizer: stack-overflow on address 0x7b512f6c8dd8 (pc 0x0000046e7a72 bp 0x7b512de7c900 sp 0x7b512f6c8dd8 T0) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #0 0x0000046e7a72 in get_global_options() (/usr/bin/ceph-osd-crimson+0x46e7a72) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #1 0x0000046e540e in build_options() (/usr/bin/ceph-osd-crimson+0x46e540e) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #2 0x0000033b7949 in get_ceph_options() (/usr/bin/ceph-osd-crimson+0x33b7949) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#3 0x000003440540 in md_config_t::md_config_t(ConfigValues&, ConfigTracker const&, bool) (/usr/bin/ceph-osd-crimson+0x3440540) (BuildId: 2a860> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#4 0x0000046856a8 in crimson::common::ConfigProxy::ConfigProxy(EntityName const&, std::basic_string_view<char, std::char_traits<char> >) (/usr> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#5 0x000000eb6cb5 in seastar::shared_ptr_count_for<crimson::common::ConfigProxy>::shared_ptr_count_for<EntityName&, std::__cxx11::basic_string> .. Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#40 0x000000ed6434 in seastar::future<int> seastar::futurize<int>::apply<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::ope> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#41 0x000000ed672b in seastar::async<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::operator()() const::{lambda()#1}>(seast> ``` This reverts commit 1ab0a8c. Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Matan-B
added a commit
to Matan-B/ceph
that referenced
this pull request
Jan 21, 2026
…yed static" ``` Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: AddressSanitizer:DEADLYSIGNAL Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ================================================================= Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ==3==ERROR: AddressSanitizer: stack-overflow on address 0x7b512f6c8dd8 (pc 0x0000046e7a72 bp 0x7b512de7c900 sp 0x7b512f6c8dd8 T0) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #0 0x0000046e7a72 in get_global_options() (/usr/bin/ceph-osd-crimson+0x46e7a72) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #1 0x0000046e540e in build_options() (/usr/bin/ceph-osd-crimson+0x46e540e) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #2 0x0000033b7949 in get_ceph_options() (/usr/bin/ceph-osd-crimson+0x33b7949) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#3 0x000003440540 in md_config_t::md_config_t(ConfigValues&, ConfigTracker const&, bool) (/usr/bin/ceph-osd-crimson+0x3440540) (BuildId: 2a860> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#4 0x0000046856a8 in crimson::common::ConfigProxy::ConfigProxy(EntityName const&, std::basic_string_view<char, std::char_traits<char> >) (/usr> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#5 0x000000eb6cb5 in seastar::shared_ptr_count_for<crimson::common::ConfigProxy>::shared_ptr_count_for<EntityName&, std::__cxx11::basic_string> .. Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#40 0x000000ed6434 in seastar::future<int> seastar::futurize<int>::apply<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::ope> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#41 0x000000ed672b in seastar::async<crimson::osd::_get_early_config(int, char const**)::{lambda()#1}::operator()() const::{lambda()#1}>(seast> ``` This reverts commit 1ab0a8c. Fixes: https://tracker.ceph.com/issues/74481 Signed-off-by: Matan Breizman <mbreizma@redhat.com>
harriscr
pushed a commit
to harriscr/ceph
that referenced
this pull request
Jan 26, 2026
…yed static" ``` Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: AddressSanitizer:DEADLYSIGNAL Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ================================================================= Jan 20 09:27:16 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ==3==ERROR: AddressSanitizer: stack-overflow on address 0x7b512f6c8dd8 (pc 0x0000046e7a72 bp 0x7b512de7c900 sp 0x7b512f6c8dd8 T0) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: #0 0x0000046e7a72 in get_global_options() (/usr/bin/ceph-osd-crimson+0x46e7a72) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#1 0x0000046e540e in build_options() (/usr/bin/ceph-osd-crimson+0x46e540e) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#2 0x0000033b7949 in get_ceph_options() (/usr/bin/ceph-osd-crimson+0x33b7949) (BuildId: 2a86043f51c9be9cb19801e276fb3ee36239556a) Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#3 0x000003440540 in md_config_t::md_config_t(ConfigValues&, ConfigTracker const&, bool) (/usr/bin/ceph-osd-crimson+0x3440540) (BuildId: 2a860> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#4 0x0000046856a8 in crimson::common::ConfigProxy::ConfigProxy(EntityName const&, std::basic_string_view<char, std::char_traits<char> >) (/usr> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#5 0x000000eb6cb5 in seastar::shared_ptr_count_for<crimson::common::ConfigProxy>::shared_ptr_count_for<EntityName&, std::__cxx11::basic_string> .. Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#40 0x000000ed6434 in seastar::future<int> seastar::futurize<int>::apply<crimson::osd::_get_early_config(int, char const**)::{lambda()ceph#1}::ope> Jan 20 09:27:17 ceph-node-0 ceph-e818662e-f5e1-11f0-b263-525400908ba7-osd-1[12300]: ceph#41 0x000000ed672b in seastar::async<crimson::osd::_get_early_config(int, char const**)::{lambda()ceph#1}::operator()() const::{lambda()ceph#1}>(seast> ``` This reverts commit 1ab0a8c. Fixes: https://tracker.ceph.com/issues/74481 Signed-off-by: Matan Breizman <mbreizma@redhat.com>
This pull request was closed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The following static constructors are implemented by opaque classes
defined in buffer.cc ( buffer::raw_char, buffer::raw_posix_aligned
etc. ). Testing the implementation of these classes is done by
variations of the calls to the static constructors.
copy(const char *c, unsigned len);
create(unsigned len);
claim_char(unsigned len, char *buf);
create_malloc(unsigned len);
claim_malloc(unsigned len, char *buf);
create_static(unsigned len, char *buf);
create_page_aligned(unsigned len);
The raw_mmap_pages class cannot be tested because it is commented out in
raw_posix_aligned. The raw_hack_aligned class is only tested under Cygwin.
The raw_posix_aligned class is not tested under Cygwin.
The unittest_bufferlist.sh script calls unittest_bufferlist with the
CEPH_BUFFER_TRACK=true environment variable to enable the code
tracking the memory usage. It cannot be done within the bufferlist.cc
file itself because it relies on the initialization of a global
variable ( buffer_track_alloc ).
When raw_posix_aligned is called on DARWIN, the data is not aligned
on CEPH_PAGE_SIZE because it calls valloc(size) which is the equivalent of
memalign(sysconf(_SC_PAGESIZE),size) and not memalign(CEPH_PAGE_SIZE,size).
For this reason the alignment test is de-activated on DARWIN.
tracker.ceph.com/issues/4066 refs #4066
Signed-off-by: Loic Dachary loic@dachary.org