os/bluestore: misc fixes/cleanups
Mark's Comments:
This passed "ceph_test_objectstore --gtest_filter=*/2".
This PR may have contributed to write performance improvements along with #10257.
Reviewed-by: Mark Nelson <mnelson@redhat.com>
os/bluestore: extent alloc functionality for stupid and bitmap allocator
Mark's Comments:
This passed "ceph_test_objectstore --gtest_filter=*/2".
This PR appears to result in a large sequential write performance increase (Up to ~3.5X), and may contribute to a small random write performance increase as well.
Reviewed-by: Mark Nelson <mnelson@redhat.com>
If nonwait is false, another thread is waiting for complete. After calling f()
this thread will notify for finishing and at this moment another thread will
destroy this C_submit_event right now. So we may refer to nonwait when
C_submit_event is disappeared.
Fixes: http://tracker.ceph.com/issues/16714
Signed-off-by: Haomai Wang <haomai@xsky.com>
We need to store the updated current period after adding the old converted regions
Fixes: http://tracker.ceph.com/issues/16751
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
FindPackageHandleStandardArgs() takes care of the find_package()
boilderplate stuff. so no need to repeat them. and remove the checkings
in env variables.
Signed-off-by: Kefu Chai <kchai@redhat.com>
as ${lrc_srcs} is not defined in the scope where
unittest_erasure_code_lrc is added as a target. and instead we link
unittest_erasure_code_lrc against ec_lrc dynamic library. so we can
safely remove ${lrc_srcs} from unittest_erasure_code_lrc.
Signed-off-by: Kefu Chai <kchai@redhat.com>
we don't define HAVE_FUSE, and HAVE_LIBFUSE is defined to be compatible
with autotools. so use WITH_FUSE in cmake whenever possible.
Signed-off-by: Kefu Chai <kchai@redhat.com>
${CMAKE_THREAD_LIBS_INIT} is defined by find_package(Thread), while
PTHREAD_LIBS is defined by the acx_pthread.m4.
Signed-off-by: Kefu Chai <kchai@redhat.com>
this option matches '--with-profiler' option in autoconf. and it is off
by default. we should not link against libprofiler unless asked to do
so. this change fixes this problem.
Signed-off-by: Kefu Chai <kchai@redhat.com>
By trapping the "==" case and break, we can finish
the cache read just in time. As a result, we can avoid
two extra operations(adjusting "offset" and "length") and
the final loop check.
Since this is one of key methods of cache, it deserves this
fix.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
Fixes: http://tracker.ceph.com/issues/16742
If we fail on any single entry in bucket, skip updating the marker tracker
so that next time we'll go over that entry, and back off. This will trigger
a report to the data sync error repo and eventually a retry on the failing
object.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
kv/MemDB: misc fixes and cleanups
Mark's Comments:
This passed "ceph_test_objectstore --gtest_filter=*/2".
This PR did not appear to have a significant impact on performance tests.
Reviewed-by: Mark Nelson <mnelson@redhat.com>
os/bluestore: use BE for gifting and reclaiming from bluefs
Mark's Comments:
This passed "ceph_test_objectstore --gtest_filter=*/2".
This PR did not appear to have a significant impact on performance tests.
Reviewed-by: Mark Nelson <mnelson@redhat.com>
os/bluestore: fix error handling of posix_fallocate()
Mark's Comments:
This passed "ceph_test_objectstore --gtest_filter=*/2".
This PR did not appear to have a significant impact on performance tests.
Reviewed-by: Mark Nelson <mnelson@redhat.com>
this silences the warning of:
```
In file included from
/home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/include/gtest/gtest.h:58:0,
from
/home/jenkins-build/build/workspace/ceph-pull-requests/src/test/osd/osdcap.cc:20:
/home/jenkins-build/build/workspace/ceph-pull-requests/src/test/osd/osdcap.cc:
In member function ‘virtual void
OSDCap_AllowClassMulti_Test::TestBody()’:
/home/jenkins-build/build/workspace/ceph-pull-requests/src/test/osd/osdcap.cc:766:6:
note: variable tracking size limit exceeded with
-fvar-tracking-assignments, retrying without
TEST(OSDCap, AllowClassMulti) {
^
/home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/include/gtest/internal/gtest-internal.h:1211:3:
note: in definition of macro ‘GTEST_TEST_CLASS_NAME_’
test_case_name##_##test_name##_Test
^
/home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/include/gtest/gtest.h:2181:3:
note: in expansion of macro ‘GTEST_TEST_’
GTEST_TEST_(test_case_name, test_name, \
^
/home/jenkins-build/build/workspace/ceph-pull-requests/src/googletest/googletest/include/gtest/gtest.h:2187:42:
note: in expansion of macro ‘GTEST_TEST’
# define TEST(test_case_name, test_name) GTEST_TEST(test_case_name,
# test_name)
^
/home/jenkins-build/build/workspace/ceph-pull-requests/src/test/osd/osdcap.cc:766:1:
note: in expansion of macro ‘TEST’
TEST(OSDCap, AllowClassMulti) {
^
```
see also b668051
Signed-off-by: Kefu Chai <kchai@redhat.com>
util.cc is included by both librados and libcephfs, the `lvm` static
variable in `lsb_release_parse()` will be free twice by them. this
could lead to double free issue. and util.cc is not used by client at all, so
remove it from them.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Snapshot rename operations utilize the (cluster) unique snapshot
sequence to prevent attempts at replays. When mirroring to a
different cluster, these sequences will not align.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
This has been deprecated for quite some time, in favour
of using proper vxattr and libcephfs interfaces.
Fixes: http://tracker.ceph.com/issues/16035
Signed-off-by: John Spray <john.spray@redhat.com>
Previously this returned 0 and an empty
response, which in turn upsets the python
code that calls commands.
Signed-off-by: John Spray <john.spray@redhat.com>
Removing this check allows us to finally move
the Objecter instance down into MDSRank where
it belongs.
Fixes: http://tracker.ceph.com/issues/15923
Signed-off-by: John Spray <john.spray@redhat.com>