Commit Graph

551 Commits

Author SHA1 Message Date
Kefu Chai
c028de2f93 cmake: rewrite Findgenl to support components argument
* rename genl to nl:
  "genl" is not very specific without more context. and libnl is actually
  a library suite. so it would be better if we can rename the library to
  be found to "libnl", and by following the naming convention of CMake,
  in this change, Findgenl.cmake is renamed to Findnl.cmake
* Findnl.cmake: support the component argument, in our specific case,
  what we want is "libnl-genl" library, which is one of the libraries
  offered by libnl. so let's just make it a component.
* Findnl.cmake: should pass the names of the required variables instead of
  their values to `find_package_handle_standard_args()`. before this
  change, we pass `GENL_LIBRARIES` to this function. it was correct at the
  first glance. but it is not able to handle the case where case where
  libnl-genl is not installed. so the fix is to pass all the names of
  required library paths to this function. in this change, their name
  are concatenated to a single variable -- `nl_LIBRARIES`, and the
  value of this variable is passed to
  `find_package_handle_standard_args()`. and the error message would
  be more specific this way if libnl-genl is not found:
    Could NOT find nl (missing: nl_genl_LIBRARY)
* Findnl.cmake: add nl::<component> as imported library, it helps the
  consumer of these libraries to import them -- no need to
  specify the `target_include_directories()` separately anymore.
* move the find_package() code to where it is used. it helps to improve
  the readability.
* remove `HAVE_GENL` variable: it's not used anywhere.
* drop the messages of "Not using foobar", they do not help.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-19 21:21:00 +08:00
Mike Christie
8815671553 cmake and build: add netlink lib requirement detection
The next patch adds netlink support to rbd-nbd. This patch just adds the
build related changes to bring in the netlink lib and test and build
against it.

Signed-off-by: Mike Christie <mchristi@redhat.com>
2019-06-04 23:56:53 -05:00
Mike Christie
3fe16add7d cmake: Move WITH_RBD option earlier
The next patch will add a WITH_RBD check to the LINUX check block so we
only check for the netlink libs when those 2 conditions are met, so this
moves the WIT_RBD option setup to before the LINUX check.

Signed-off-by: Mike Christie <mchristi@redhat.com>
2019-06-04 23:56:53 -05:00
Jason Dillaman
7f6685383d librbd: use custom allocator for aligned boost::lockfree::queue
If tcmalloc is in-use as the allocator and its version is less than 2.6.2,
it might be missing support for 'aligned_alloc'. This can result in the
glibc version of 'aligned_alloc' being used to allocate memory that is
then freed by tcmalloc -- resulting in a crash.

Fixes: http://tracker.ceph.com/issues/39703
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-05-15 08:47:41 -04:00
Ricardo Dias
c1e1d6ed0c
Merge pull request #24678 from rouming/master
test/fio: introduce fio ioengine: fio_ceph_messenger

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
Reviewed-by: Ricardo Dias <rdias@suse.com>
2019-03-28 09:20:55 +00:00
Willem Jan Withagen
1f0e443854 cmake: use StdFilesystem::filesystem instead of stdc++fs
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2019-03-24 15:14:12 +01:00
Sage Weil
be1187575b Merge PR #27021 into master
* refs/pull/27021/head:
	msg: remove XioMessenger
	qa/suites/rados/thrash-old-clients: add nautilus
	qa/suites/rados/thrash-old-clients: add mimic v1 variant
	qa/suites/rados/thrash-old-clients: add mimic
	qa/suites/rados/thrash-old-clients: collapse msgr and client choice
	qa: remove simplemessenger tests
	ceph_test_msgr: remove simple
	msg: remove SimpleMessenger

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-03-22 04:42:30 -05:00
Sage Weil
cc9a9142fd msg: remove XioMessenger
There is a lot of good stuff going on here, but nobody is investing in xio
and it is not expected to be the path forward for RDMA.  If that ever
changes, we can resurrect the code.  Until then, let's clean up the tree
and reduce friction for changes going forward.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-03-21 00:57:33 -05:00
Sage Weil
5ed71d25d5 ceph_release: the next release will be octopus
Signed-off-by: Sage Weil <sage@redhat.com>
2019-03-20 00:48:12 -05:00
Jenkins Build Slave User
3a54b2b6d1 14.2.0 2019-03-18 10:08:29 +00:00
Jenkins Build Slave User
ae1b3cf8e2 14.1.1 2019-03-11 16:42:55 +00:00
Jenkins Build Slave User
adfd524c32 14.1.0 2019-02-22 18:07:07 +00:00
Kefu Chai
66fb02dcfe
Merge pull request #26555 from tchaikov/wip-install-build-deps
cmake,rgw: make amqp support optional

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Yuval Lifshitz <yuvalif@yahoo.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
2019-02-22 15:39:55 +08:00
Kefu Chai
8a6658f8a9 cmake: fix syntax error of set()
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-22 13:43:00 +08:00
Ricardo Dias
f42c440158
cmake: add UNIT_TESTS_BUILD preprocessor var based on WITH_TESTS cmake var
Signed-off-by: Ricardo Dias <rdias@suse.com>
2019-02-21 16:00:26 +00:00
Kefu Chai
4f154010c9 rgw,cmake: add option "WITH_RADOSGW_AMQP_ENDPOINT"
WITH_RADOSGW_AMQP_ENDPOINT is enabled by default.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-21 20:36:43 +08:00
Kefu Chai
95401d8c2f cmake: find_package(RabbitMQ) instead of just checking its header
rabbitmq-c is not a header-only library. so we need to ensure that the
library is also around before linking against it. in this change:

* move the detection down to where librabbitmq is used
* add FindRabbitMQ.cmake for find_package(RabbitMQ)
* s/rabbitmq/RabbitMQ::RabbitMQ/ as the latter is an alias library
target, which has more information attached to it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-21 19:00:24 +08:00
Yuval Lifshitz
7a33fd8d56 rgw: pubsub add cmake check for rabbitmq
Signed-off-by: Yuval Lifshitz <yuvalif@yahoo.com>
2019-02-13 13:30:50 +02:00
Kefu Chai
02bccec954 cmake: use sphinx-build-3 as an alternative
on fc30, there is no reason to stick with sphinx-build and ignore
sphinx-build-3!

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-07 15:35:16 +08:00
Sage Weil
9aaa354cad build: disable kerberos for nautilus
We can re-enable after we branch.  For N, though, there is no point in dragging
in the dependencies and implying there is something that works.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-03 14:27:49 -06:00
Roman Penyaev
fb360cebf5 test/fio: introduce fio ioengine: fio_ceph_messenger
This patch introduces new FIO engine which main goal is to test
bare Ceph messenger transport layer performance.  Engine submits
requests in async manner and polls for completion.  Completions
are kept in lockless ring buffer so on hot path no muteces or
conditions are used in order to get maximum bandwidth and less
latency.

Signed-off-by: Roman Penyaev <rpenyaev@suse.de>
2019-01-16 15:53:49 +01:00
Alan Somers
9ae94e48be os/bluestore: support for FreeBSD
Signed-off-by: Alan Somers <asomers@gmail.com>
2018-12-22 00:21:56 +08:00
Kefu Chai
e57649dd9c
Merge pull request #22800 from wjwithagen/wjw-ctest-timeout
cmake: allow setting of the CTest timeout during building.

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-12-21 23:40:27 +08:00
oliveiradan
67784065ce auth: Kerberos authentication
Signed-off-by: Daniel Oliveira <doliveira@suse.com> (github: oliveiradan)
2018-12-03 18:55:46 -07:00
Willem Jan Withagen
fd71812f87 cmake: allow setting of the CTest timeout during building.
It is rather had to overide a once set timeout during CTesting.
This is the best next compromise. Disadvantage is that a rebuild
is required.
But it helps in my Jenkins testing timely catching run-away programs.

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2018-10-29 23:16:33 +01:00
Boris Ranto
1ade714910 cmake: Support grafana dashboard installation
We are currently hosting the grafana dashboards in our repo but we do
not install them. This patch adds the cmake support.

Signed-off-by: Boris Ranto <branto@redhat.com>
2018-10-25 17:09:02 +02:00
Kefu Chai
86af98f42d
Merge pull request #24692 from tchaikov/wip-cmake-with-asan
cmake: fixes to enable WITH_ASAN with clang and GCC

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-10-23 19:26:59 +08:00
Kefu Chai
b605210b97 cmake: pass Sanitizers flags to linker for linking .so
see
https://github.com/google/sanitizers/wiki/AddressSanitizer#using-addresssanitizer

to be specific,

> In order to use AddressSanitizer you will need to compile and link your
> program using `clang` with the `-fsanitize=address` switch.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-10-22 14:40:03 +08:00
Alan Somers
e31acf6567 blkdev: FreeBSD support
Signed-off-by: Alan Somers <asomers@gmail.com>
2018-10-19 19:37:42 +08:00
Marcin Juszkiewicz
ee3af68dd9 cmake: mark gcc 7 as minimum C++ compiler (due to std++17)
Ceph requires C++17 support from compiler. This means gcc 7.x being
minimal version supported.

This also allows to fail quick on Debian 'stretch' with it's gcc 6.3
compiler.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2018-10-16 16:34:03 +02:00
Kefu Chai
1fb419ca76 cmake: use OpenSSL::Crypto instead of OPENSSL_LIBRARIES
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-10-10 00:20:14 +08:00
Patrick Donnelly
5cdf9c3380
Merge PR #24020 into master
* refs/pull/24020/head:
	*: set missing CLOEXEC on opened fds
	msg: set O_NONBLOCK on file status flags

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2018-09-25 09:20:22 -07:00
Sage Weil
c3f70dc4a8 common/ceph_mutex: ceph::{mutex,condition_variable,lock_guard}
If CEPH_DEBUG_MUTEX is defined, use the [recursive_]mutex_debug classes
that implement lockdep and a bucnh of other random debug checks.  Also
typedef ceph::condition_variable to std::condition_variable_debug, which
adds addition assertions and debug checks.

If CEPH_DEBUG_MUTEX is not defined, then use the bare-bones C++ std::mutex
primitives... or as close as we can get to them.

Since the [recursive_]mutex_debug classes take a string argument for the
lockdep piece, define factory functions ceph::make_[recursive_]mutex that
either pass arguments to the debug implementations or toss them out.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-21 11:55:56 -05:00
Patrick Donnelly
86dbd9e755
*: set missing CLOEXEC on opened fds
Otherwise these descriptors may leak across execve() during e.g. MDS respawn.

Fixes: http://tracker.ceph.com/issues/35850

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-09-20 08:06:08 -07:00
Kefu Chai
07a3e8d7a6
Merge pull request #23650 from tchaikov/wip-dpdk-cmake
cmake: fix the build WITH_DPDK=ON

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-09-14 23:44:01 +08:00
Kefu Chai
195470a295 cmake: always add ${Boost_INCLUDE_DIRS} to include dirs
we need to -I${Boost_INCLUDE_DIRS} if WITH_SYSTEM_BOOST=ON and boost is
found by FindBoost.cmake.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-09-11 22:22:47 +08:00
Kefu Chai
a4c396d111 cmake: support multi-arch lib directory used along with BOOST_ROOT
by default, debian packaging creates ${prefix}/lib/x86_64-linux-gnu for
multi-arch support. but FindBoost.cmake does not check in such a
directory if $BOOST_ROOT is set. in this change, this directory is added
to the search path.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-09-11 22:22:47 +08:00
Kefu Chai
2c823a18cb cmake: pass DPDK_DIR explicitly
so we don't rely on build_dpdk() to be a macro to set variables in
its parent scope.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-09-05 17:33:59 +08:00
Willem Jan Withagen
39d831f95d core: make pthread_get_name_np work when available
FreeBSD will have a pthread_get_name_np() in libpthread
Code for that was submitted

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2018-08-19 12:07:56 +02:00
Kefu Chai
65f6a3c564 cmake: honour CMAKE_REQUIRED_LIBRARIES in CheckIncludeFiles
to silence cmake warning regarding to CMP0075

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-17 14:08:57 +08:00
Kefu Chai
e2e6a77b38
Merge pull request #23510 from tchaikov/wip-cmake-boost-build
cmake: fix build WITH_SYSTEM_BOOST=ON

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-08-13 21:42:10 +08:00
Kefu Chai
46c8b04a98 cmake: fix build WITH_SYSTEM_BOOST=ON
FindBoost.cmake from upstream cmake now finds python libraries like

find_package(Boost 1.67 python36)

and it export targets like Boost::python36

but we are still linking against Boost::python, so to be compatible
with FindBoost.cmake, we need to update BuildBoost.cmake and
mgr/CMakeLists.txt accordingly. in other words, to export
Boost::python36 and to link Boost::python36.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-09 18:57:04 +08:00
Kefu Chai
72cc4cedd4
Merge pull request #23441 from tchaikov/wip-cmake-rocksdb-cleanup
cmake: rocksdb related cleanup

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-08-09 00:46:53 +08:00
Sage Weil
3988351227 Merge PR #23432 into master
* refs/pull/23432/head:
	Revert "rocksdb: pickup change to link against libsnappy.a"
	cmake,make-dist: revert "build gperftools if WITH_STATIC_LIBSTDCXX"
	cmake: cleanup snappy related script
	debian: strip "-Wl,-Bsymbolic-functions" from LDFLAGS
2018-08-07 08:59:39 -05:00
Willem Jan Withagen
3b776457fe FreeBSD: update build script to current state
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2018-08-06 23:42:06 +02:00
Kefu Chai
c81f143411 cmake: add ALLOCATOR option
ALLOCATOR is in fact an option..

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-06 19:37:43 +08:00
Kefu Chai
5a71bbbe59 cmake: refactor RocksDB related script
* rename Findrocksdb.cmake to FindRocksDB.cmake to match its name
* add RocksDB::RocksDB target to BuildRocksDB.cmake and
  FindRocksDB.cmake
* use RocksDB::RocksDB target instead of accessing its property
  directly, and do not link against its dependencies explicitly.
  let its INTERFACE_LINK_LIBRARIES do the job.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-06 19:37:43 +08:00
Kefu Chai
4b09b2fbc4 cmake,make-dist: revert "build gperftools if WITH_STATIC_LIBSTDCXX"
as the higher version of libstdc++ is backward compatible with the lower
ones. so there is no need to statically link against C++ libraries. they
can always use the libstdc++ ships with the distro.

This reverts commit a6c73b6ac1

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-06 18:30:38 +08:00
Kefu Chai
a7326ee0f4 cmake: extract sanitizer detection out
also, we don't need to pass '-lasan' or '-ltsan' to linker. it's
suggested to use the "-fsanitize=${sanitizer}".

please note, this module is compatible with the one used in seastar on
purpose, as seastar is included in ceph using add_subdirectory(), and it
in turn add its own cmake modules directory using list(APPEND ...), so
cmake/modules/FindSantitizers.cmake is prefered over
src/seastar/cmake/FindSantitizers.cmake.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-02 14:43:47 +08:00
Kefu Chai
0912caefa9
Merge pull request #23300 from tchaikov/wip-cmake-cleanup
cmake: cleanups

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-08-02 10:14:09 +08:00
Kefu Chai
a6c73b6ac1 cmake,make-dist: build gperftools if WITH_STATIC_LIBSTDCXX
we could create a mini project to build a shared library, and use
try_compile() to test if the found gperftools is compiled with -fPIC.
but as we are targeting mostly xenial when enabling
WITH_STATIC_LIBSTDCXX, and google-perftools on xenial by default
is built without -fPIC. so let's keep it simple.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-29 21:25:52 +08:00
Kefu Chai
e6c7e0f521 cmake: extract std::filesystem linkage checking into module
see
https://libcxx.llvm.org/docs/UsingLibcxx.html#using-libc-experimental-and-experimental,

> Note that as of libc++ 7.0 using the <experimental/filesystem>
> requires linking libc++fs instead of libc++experimental.

do not build ceph_test_admin_socket_output if we are not able to find
the library for std::experimental::filesystem . it is a workaround of
https://reviews.freebsd.org/D10840 where FreeBSD 11.2 does not ship
libc++experimental.a .

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-29 20:25:32 +08:00
Kefu Chai
d245ffb0e6 cmake: fix "WITH_STATIC_LIBSTDCXX"
- do not link libkv with ALLOC_LIBS, it turns out that if we link
tcmalloc *before* -static-libstdc++ -static-libgcc, libstdc++ and gcc
libs will show up in `ldd` output
- add `-static-libstdc++ -static-libgcc` to CMAKE_SHARED_LINKER_FLAGS
and CMAKE_EXE_LINKER_FLAGS instead of adding them to all shared
libraries and executable. simpler this way.
- link against libtcmalloc statically, because libtcmalloc is a C++
library, linking against it dynamically and linking against C++ runtime
statically will pull in depdencies on two versions of C++ runtime, which
will bring down the app at run-time.
- do not pass '-pie' to linker when building executable if
`WITH_STATIC_LIBSTDCXX` and tcmalloc is used, because the static tcmalloc
is not compiled with PIC.
- only apply '-pie' if ENABLE_SHARED is enabled.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-29 01:44:18 +08:00
Kefu Chai
a92fee76f1 cmake: set HAVE_DPDK if it's available
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-28 16:53:10 +08:00
Kefu Chai
b21903eabf cmake: make heap_profiler a library target
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-26 15:16:48 +08:00
Kefu Chai
8db629a14b cmake: import allocator libraries in a better way
* instead expose the paths, it'd better to expose a library target.
* remove HAVE_LIBJEMALLOC, as it not used anywhere.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-26 15:16:48 +08:00
Kefu Chai
16976bd42a cmake: should link against libatomic if libcxx/libstdc++ does not offer atomic ops
for instance,  GCC-8 on riscv64 does not offer atomic ops like
__atomic_fetch_or_1, so we need to link against libatomic to get access
to these symbols.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-10 01:37:00 +08:00
Kefu Chai
34f1ee7897 cmake: remove workarounds for supporting cmake 2.x
and bump up the required cmake version to 3.5.1

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-07 01:24:02 +08:00
Kefu Chai
38d0e22685 cmake: consolidate WITH_{VERBS,RDMACM}
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-06-28 23:26:28 +08:00
Kefu Chai
572a740a03
Merge pull request #20297 from tanghaodong25/rdma-cm
msg/async/rdma: add iWARP RDMA protocol support

Reviewed-by: Haomai Wang <haomai@xsky.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-06-27 20:37:48 +08:00
haodong
f54e42f3a3 msg/async/rdma: cmake find_package for librdmacm
Signed-off-by: Haodong Tang <haodong.tang@intel.com>
2018-06-20 14:08:26 +08:00
Kefu Chai
54216f3c25 cmake: only build extra boost libraries only if WITH_SEASTAR
unit_test_framework is an alias of test, and Boost::test is only
necessary if seastar's tests are built. but SEASTAR_ENABLE_TESTS is
reset by us, so drop tests/unit_test_framework here.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-06-12 12:38:05 +08:00
Kefu Chai
7967416eea
Merge pull request #22454 from tchaikov/wip-seastar-denc
common: add adaptor for seastar::temporary_buffer

Reviewed-by: Sage Weil <sage@redhat.com>
2018-06-09 20:38:49 +08:00
Kefu Chai
8aac132dc4 cmake: update for accomodate seastar
* add unit_test_framework for appease seastar's find_package() call,
  even we don't build seastar's tests
* some seastar functions declare their return value like:
  const size_t str_len(...). and GCC does not like the "const" in it.
  so silence it

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-06-08 20:58:15 +08:00
Casey Bodley
37de3cad4d cmake: add WITH_SEASTAR option
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-06-08 20:58:15 +08:00
Kefu Chai
ca78ab2254 cmake: find liboath using the correct name
we should reference liboath by the $name in Find${name}.cmake, also the
$name should be consistent when calling find_package_handle_standard_args().
in this change
* rename Findliboath.cmake to FindOATH.cmake to be consistent with other
  find_package() moduless.
* use "OATH" in find_package_handle_standard_args() instead of "oath"
* set the interface properties for OATH::OATH, so the target linking
  against it can reference its header directories and libraries automatically.
* remove the stale comment for find_package_handle_standard_args()
* set OATH_INCLUDE_DIRS and OATH_LIBRARIES to follow the convention of
  find_package(), even they are not used directly in this project.

Reported-by: Erwan Velu <erwan@redhat.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-06-06 22:49:35 +08:00
Kefu Chai
4af37d4730 cmake: bump up the required boost version to 1.67
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-06-04 22:27:55 +08:00
Radoslaw Zarzynski
4860bb70e1 auth: CryptoAESKeyHandler switches from NSS to OpenSSL.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2018-05-18 10:48:32 -04:00
Dan Mick
39b2626c7a Remove embedded 'cephd' code
Signed-off-by: Dan Mick <dan.mick@redhat.com>
2018-05-11 13:10:26 -07:00
Sage Weil
6ae51aed13 Merge remote-tracking branch 'gh/mimic' 2018-05-10 12:18:29 -05:00
Kefu Chai
50a052d79e
Merge pull request #19714 from qwren/qatzip-compressor
compressor: add QAT support

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-05-04 09:17:17 +08:00
Jenkins Build Slave User
1f43eda5fd 13.1.0 2018-05-03 17:57:34 +00:00
Kefu Chai
791af5459e cmake: enable CMP0051
the new behavior of get_target_property(<var> <target> SOURCES) will be
enforced in future versions of cmake, so let ready for this change now
by removing the generator expressions from the returned source file
list.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-04-26 16:47:54 +08:00
Kefu Chai
4aea3bed7f cmake: enable CMP0046
so cmake will error on "non-existent dependency in add_dependencies", we
add dependency on CONFIGURE_FILE() output, which is wrong, as its output
is not a target, and is generated when cmake runs. so remove them from
dependencies.

regarding to ceph_ver.h, its path is also wrong. it is created under
${CMAKE_BINARY_DIR}/src/include. so this is another reason to remove it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-04-26 16:44:09 +08:00
Kefu Chai
750c301e1c cmake: use CMP0028 NEW
it's intended behavior to use imported or alias target for dependencies
with name with "::" in it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-04-18 15:10:54 +08:00
Qiaowei Ren
9f3965aef3 compressor: add QAT support
This patch adds new QATzip plugin to support QAT for compression.

QATZip is a user space library which builds on top of the Intel
QAT (QuickAssist Technology) user space library, to provide extended
accelerated compression and decompression services by offloading the
actual compression and decompression request(s) to the hardware
QAT accelerators, which are more efficient in terms of cost and power
than general purpose CPUs for those specific compute-intensive
workloads.

Based on QAT accelerators, QATZip can support several compression
algorithm, including deflate, snappy, lz4, etc..

Signed-off-by: Qiaowei Ren <qiaowei.ren@intel.com>
2018-04-18 12:05:44 +08:00
Grant Slater
bb2da9302c cmake: Enable LZ4 if required library is available.
Signed-off-by: Grant Slater <grant.slater@wearefriday.com>
2018-04-12 09:35:24 -04:00
Yehuda Sadeh
6976202360 cls/otp, rgw-admin: use older liboath api, parse seed once
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2018-04-09 07:02:17 -07:00
Yehuda Sadeh
c3a6f7588a rgw: mfa - initial work
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2018-04-09 07:01:02 -07:00
Casey Bodley
247e074338 rgw: add ssl support to beast frontend
adds frontend options ssl_certificate, ssl_private_key, ssl_port, ssl_endpoint

Fixes: http://tracker.ceph.com/issues/22832

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-04-05 15:30:22 -04:00
Sage Weil
643253c326 Merge tag 'v13.0.2'
v13.0.2
2018-04-03 10:08:22 -05:00
Sage Weil
ed9182c266 CMakeLists: v13.0.2
Signed-off-by: Sage Weil <sage@redhat.com>
2018-04-02 10:03:02 -05:00
Nathan Cutler
a95eacbe48 cmake: add chrono to BOOST_COMPONENTS
According to 9535165149
Boost::chrono is a dependency of Boost::context and Boost::thread,
but Boost::chrono does not get built unless it is included here.

Fixes: http://tracker.ceph.com/issues/23424
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-03-20 16:14:11 +01:00
Ricardo Dias
aa205a6731
mgr/dashboard: renamed dashboard_v2 to dashboard
Signed-off-by: Ricardo Dias <rdias@suse.com>
2018-03-16 07:23:08 +00:00
Yuri Weinstein
39f7377556
Merge pull request #20390 from theanalyst/rgw/openssl-init
rgw: setup locks for libopenssl

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Jesse Williamson <jwilliamson@suse.de>
Reviewed-by: Marcus Watts <mwatts@redhat.com>
2018-03-08 07:34:29 -08:00
Kefu Chai
23eb14de52
Merge pull request #20103 from openattic/wip-mgr-dashboard_v2
mgr/dashboard_v2: Initial submission of a web-based management UI (replacement for the existing dashboard)

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-03-06 19:08:57 +08:00
Kefu Chai
c454b1d1d6
Merge pull request #20535 from ifed01/wip-ifed-bring-fio
test/fio: enable objectstore FIO plugin building without the need to install and build FIO source code

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-03-06 08:36:39 +08:00
Igor Fedotov
939805165e test/fio: enable objectstore FIO plugin building without the need to install and build FIO source code
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2018-03-05 20:35:08 +03:00
Sebastian Wagner
24e216b519
mgr/dashboard_v2: Add CMake target to build the frontend.
* Added new CMake flag `WITH_MGR_DASHBOARD_V2_FRONTEND`:
  Build the mgr/dashboard_v2 frontend using `npm install && npm run build`

* Set this flag to `OFF` when building packages.

* Removed creation of the frontend from `vstart.sh`

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2018-03-05 13:07:17 +00:00
Abhishek Lekshmanan
112ba0b4da rgw: rgw_admin also inits curl
since we use http manager which in turn uses curl and uses curl multi
interfaces. While curl is initialized at the first call of curl_easy_init() this
method isn't guaranteed to be safe when multiple threads may call the function
since curl_global_init isn't reentrant. Calling curl_global_init via
rgw::curl::setup_curl which additionally sets up ssl interfaces etc. when
openssl is used as curl's ssl backend. Similarly moving rgw target link to
accomodate this change.

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-03-02 17:42:00 +01:00
Abhishek Lekshmanan
4e30277e4b rgw: setup locks for libopenssl
openssl <= 1.02 requires explicit callbacks for locking which libcurl doesn't
set. This causes random segmentation faults when openssl uses its global
structures across multiple threads. Providing a simple mutex lock/unlock
functions as a callback. We determine whether openssl is used for libcurl via
curl-config utility which should be installed as a part of our curl development
headers package. We also additionally check that the openssl version is < 1.1.0
which alleviates the need for these callbacks. In this patchset we have done the
following:

- move all curl related global init functionality under rgw::curl namespace
  since libcurl may need to set up various ssl libraries etc during its init
- introduce WITH_CURL_OPENSSL in cmake
  this checks the backend curl is deployed with using curl-config. Since curl
  devel is expected to be installed anyway, this binary should be available and
  can help identify the ssl backend curl was compiled with.
- we only setup the locks if beast/civetweb aren't terminated with ssl, since
  these libraries setup the locks anyway and we want to prevent double
  initialization of openssl. Also we pass in ~CURL_GLOBAL_SSL making curl not
  initialize openssl if civetwb/beast is initializing them. Unfortunately this
  flag is a noop from curl >= 7.57 wherein both the libraries will end up
  initializing openssl anyway, which might override certain settings like error
  strings if using openssl < 1.1

https://curl.haxx.se/libcurl/c/threadsafe.html
https://www.openssl.org/docs/man1.0.2/crypto/threads.html#DESCRIPTION

Fixes: http://tracker.ceph.com/issues/22951
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
Signed-off-by: Jesse Williamson <jwilliamson@suse.com>
2018-03-02 17:41:42 +01:00
Nathan Cutler
dba3ebec29 build/ops: change WITH_SYSTEMD default to ON
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-02-12 18:11:31 +01:00
Adam C. Emerson
ba5ce157bd build: Use the right experimental library
Test whether we're building with libstdc++ or libc++.

Use stdc++filesystem if the former and c++experimental if the later.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2018-02-09 19:54:02 -05:00
Kefu Chai
53c3b4496f test/admin_socket_output: switch to std::experimental::filesystem
so we don't need to compile boost::filesystem anymore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-02-05 17:12:19 +08:00
Kefu Chai
7fe6917ba6
Merge pull request #20134 from tchaikov/wip-spdk-aarch64
spdk: update SPDK to fix the build failure on aarch64

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2018-01-27 00:29:23 +08:00
Tone Zhang
95a83580df spdk: enable SPDK on AArch64 by default
Enable SPDK in Ceph on AArch64 by default.

Change-Id: I81ad8e0b860968d62fd2740ae04923f477dab75a
Signed-off-by: Tone Zhang <tone.zhang@arm.com>
2018-01-26 21:05:02 +08:00
Kefu Chai
9e45edaab2 cmake: build ceph-mgr with specified version of python
* add an option named "MGR_PYTHON_VERSION", so we can build ceph-mgr
  which use py3 for running plugins
* also drop the line to specify the "Python_ADDITIONAL_VERSIONS", because
  2.7 is listed by all the the FindPythonInterp and FindPythonLibs in
  cmake 2.8.12 and up.
* use ${MGR_PYTHON_EXECUTABLE} for holding the path to the python
  interpreter used by mgr. because this variable might be overwritten by
  "find_package(PythonInterp 2 REQUIRED)" when checking for building env
  of pybinding for python2.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-01-26 20:24:54 +08:00
Casey Bodley
ba85740955 cmake: remove cryptopp option
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-01-19 10:25:41 -05:00
Yuri Weinstein
392314d980
Merge pull request #19549 from bi-shun/brotli-compressor
compressor: Add Brotli Compressor

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-01-06 09:28:58 -08:00
Casey Bodley
b589b73c70 cmake: add WITH_BOOST_CONTEXT option
adds a more specific option for this boost::context dependency, which was
previously only used by the radosgw beast frontend. see
http://tracker.ceph.com/issues/20048 for more background

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-01-05 14:55:23 -05:00
Casey Bodley
0e47a339df cmake: update minimum boost version to 1.66
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-01-05 13:52:47 -05:00
Sage Weil
819a3578fa Merge tag 'v13.0.1' 2018-01-03 10:04:20 -06:00
Sage Weil
9cce242776 v13.0.1
Signed-off-by: Sage Weil <sage@redhat.com>
2018-01-03 10:03:39 -06:00
BI SHUN KE
f0aa22660c Compressor: Add Brotli Compressor
Signed-off-by: BI SHUN KE <aionshun@livemail.tw>
2017-12-29 18:22:20 +08:00
Kefu Chai
c869054645 cmake: add WITH_STATIC_LIBSTDCXX option
to link libceph-common with libstdc++ if it is enabled.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 4c2216de6a08f048374292a567dbabd083d64e87)
2017-12-15 19:16:12 +08:00
Kefu Chai
4231cfbc99 cmake: DPDK works w/o CRYPTOPP
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-13 14:54:17 +08:00
Kefu Chai
4c2216de6a cmake: add WITH_STATIC_LIBSTDCXX option
to link libceph-common with libstdc++ if it is enabled.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-12 00:26:52 +08:00
Kefu Chai
a5190c9887
Merge pull request #19202 from tchaikov/wip-check-pthread-ext
cmake,common/RWLock: check for libpthread extensions

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-12-01 10:36:21 +08:00
Kefu Chai
12dc5733c9
Merge pull request #18938 from tchaikov/wip-cmake
cmake: check gcc version not release date for libstdc++ saneness

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-11-29 15:38:16 +08:00
Kefu Chai
cf50fb941e cmake,common/RWLock: check for libpthread extensions
pthread_rwlockattr_setkind_np() is a GNU extension of libpthread. and
Tianshan Qu pointed out, we cannot use
ifdef(PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP) to detect the
availability of this function, because it's an enum not a macro. so,
like other *_np() extensions, we check this one also using cmake at
the configure phase.

Reported-by: Tianshan Qu <tianshan@xsky.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-28 23:50:36 +08:00
Kefu Chai
764c2c0e1c cmake: silence CMP0054 warning
see https://gitlab.kitware.com/cmake/cmake/issues/17381 and
a8be8b1b54,
so before the updated cmake is released and packaged. we should
add this setting.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-27 12:50:38 +08:00
Kefu Chai
68c52a669c
Merge pull request #19017 from tchaikov/wip-bluestore-without-aio
bluestore,cmake: enable building bluestore without aio

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Mykola Golub <to.my.trociny@gmail.com>
2017-11-22 12:26:34 +08:00
Kefu Chai
89a48189ea cmake: only create sysctl file on linux
and check 64bit platform by using the sizeof(void*)

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-20 15:45:03 +08:00
Kefu Chai
586da3da4f
Merge pull request #18544 from ddiss/pid_max
sysctl.d: set kernel.pid_max=4194304

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-11-20 14:37:08 +08:00
Kefu Chai
346fd43bf8 cmake: complain if spdk/pmem is enabled w/o bluestore
and complain if bluestore is enabled w/o any backend found.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-20 13:04:07 +08:00
Kefu Chai
57e792bcae bluestore: enable building bluestore w/o libaio
KernelDevice is tightly coupled with libaio. more work is needed to
decouple aio from it. but by guarding KernelDevice with HAVE_LIBAIO, we
can enable bluestore on platforms w/o libaio.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-20 11:18:02 +08:00
Kefu Chai
a69bd61b8c cmake: use BuildDPDK if libdpdk not found
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-18 10:45:26 +08:00
Kefu Chai
dbe04b4a85 cmake: refactor dpdk related code
* move the check of `USE_CRYPTOPP` to $top_srcdir/CMakeLists.txt
* remove reference of DPDK_LIBRARY, it's defined nowhere
* move the dpdk code to a single place

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-18 10:43:33 +08:00
David Disseldorp
14a0c2a727 sysctl.d: set kernel.pid_max=4194304 on 64-bit systems
For CONFIG_BASE_FULL Linux kernels, the maximum number of proc/thread
IDs is set to 32768 by default. This default limit can be quite easily
hit during recovery on nodes with high OSD counts.
To avoid hitting the pid_max default limit, attempt to configure it to
4194304, which corresponds to the maximum limit possible on 64-bit
CONFIG_BASE_FULL kernels.

Fixes: http://tracker.ceph.com/issues/21929

Signed-off-by: David Disseldorp <ddiss@suse.de>
2017-11-17 14:40:23 +01:00
Kefu Chai
df446f06cb cmake: WITH_SPDK=ON by default
Signed-off-by: wanjun.lp <wanjun.lp@alibaba-inc.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-17 15:40:00 +08:00
Kefu Chai
01a9f17825 cmake: build spdk/dpdk in cmake modules
Signed-off-by: Kefu Chai <kchai@redhat.com>
Signed-off-by: wanjun.lp <wanjun.lp@alibaba-inc.com>
Signed-off-by: Ziye Yang <optimistyzy@gmail.com>
2017-11-17 15:37:53 +08:00
Kefu Chai
10ab96be4d
Merge pull request #18711 from adamemerson/wip-system-includes
cmake: System Includes to silence warnings from submodules and libraries!

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-11-04 16:03:37 +08:00
Kefu Chai
2ce53a7b30
Merge pull request #18597 from tchaikov/wip-cmake-cleanup
cmake: cleanups

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Ali Maredia <amaredia@redhat.com>
2017-11-04 16:00:47 +08:00
Adam C. Emerson
8d4a07f89f build: Mark dependency includes as SYSTEM
It is not really our business to debug python, boost, or our other
dependencies. Mark them as system includes.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2017-11-03 23:58:41 -04:00
Kefu Chai
c43bac48b0 cmake: fix indent
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-03 16:23:26 +08:00
Kefu Chai
4c2dd1607f cmake: remove unused definitions
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-03 16:23:12 +08:00
Casey Bodley
b904b57504 rgw: remove boost::coroutine and context deps
the beast frontend no longer uses stackful coroutines, so these
dependencies aren't necessary

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-10-27 11:28:40 -04:00
Kefu Chai
4ec719bf9e Merge pull request #18357 from asomers/have_libaio
Build: create a proper WITH_BLUESTORE option

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-By: Kefu Chai <kchai@redhat.com>
2017-10-21 10:38:37 +08:00
Ali Maredia
2e477f3c05 Merge pull request #17673 from mogeb/blkin
blkin: link against lttng-ust-fork
2017-10-20 15:52:55 -04:00
Jianpeng Ma
b4cc9a9aa8 cmake: Build libpmem from source code.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2017-10-20 00:44:09 +08:00
Alan Somers
1430f36f67 Build: create a proper WITH_BLUESTORE option
Using Bluestore is not the same thing as having libaio, especially on
non-Linux platforms.

Signed-off-by: Alan Somers <asomers@gmail.com>
2017-10-18 10:20:06 -06:00
Ali Maredia
756d539d92 Merge pull request #18285 from tchaikov/wip-cmake
cmake: bump up required cmake version to 2.8.12
2017-10-13 10:47:34 -04:00
Kefu Chai
3f27dbbdb0 cmake: s/LINK_PRIVATE/PRIVATE/
as 2.8.12 is required not, no need to be compatible with 2.8.11 anymore.

this reverts 457f023.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-10-13 14:32:32 +08:00
Kefu Chai
77ab5eb821 cmake: refactor -fsanitize=... options
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-10-13 14:32:32 +08:00
Kefu Chai
055ae5c476 cmake: use CMAKE_POSITION_INDEPENDENT_CODE not -fPIC
we use the global setting of CMAKE_POSITION_INDEPENDENT_CODE for
defining this flag.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-10-13 14:02:59 +08:00
Kefu Chai
966898329c cmake: bump up the required version to 2.8.12
as both trusty and centos 7.3 offer 2.8.12

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-10-13 14:02:59 +08:00
Kefu Chai
f7822816db Merge pull request #17972 from cbodley/wip-21401
auth: keep /dev/urandom open for get_random_bytes

Reviewed-by: Adam Emerson <aemerson@redhat.com>
2017-10-13 12:16:26 +08:00
Kefu Chai
0c9c5ffe0f cmake: set supported language the right way
the second param of enable_launage() is not used, we should call it
multiple times to enable more than one language. switch to project()
command for simplicity.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-10-10 19:54:31 +08:00
Casey Bodley
513fa79f2d cmake: detect presence of getentropy
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-10-09 10:42:25 -04:00
Kefu Chai
c999abd7a8 cmake: requires rockdb version 5.8
we've updated the rockdb wrapper on ceph side to be compatible with
the latest version of rocksdb upstream. so ceph is not compatible with
older version of rocksdb.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-09-19 13:46:50 +08:00
Kefu Chai
5980a60ab3 cmake: check for fdatasync() on non osx
on osx, fdatasync() is a syscall without userspace wrapper.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-09-16 10:43:32 +08:00
Mohamad Gebai
9049a97d41 blkin: link against lttng-ust-fork
Tracing with LTTng doesn't work if an application clone()s other
threads. This is an LTTng-related issue and the fix is LD_PRELOAD'ing
liblttng-ust-fork, or linking against it.
We don't have this issue with "regular" tracepoints (see WITH_LTTNG)
because the tracepoints are loaded using dlopen() at runtime by each
Ceph process.

Signed-off-by: Mohamad Gebai <mgebai@suse.com>
2017-09-07 09:43:20 -04:00
Sage Weil
d87e42386a Merge pull request #16733 from liupan1111/wip-bluefs-fio
os: add compile option to build libbluefs.so 

Reviewed-by: Sage Weil <sage@redhat.com>
2017-08-31 15:45:39 -05:00
Kefu Chai
b567261208 cmake: require lz4 v1.7 for building lz4 compressor
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-08-17 16:01:55 +08:00
Pan Liu
490c281fb1 os: add compile option to build libbluefs.so
Signed-off-by: Pan Liu <wanjun.lp@alibaba-inc.com>
2017-08-02 07:16:16 +08:00
Jenkins Build Slave User
b661348f15 12.1.2 2017-08-01 17:55:40 +00:00
Jenkins Build Slave User
f3e663a190 12.1.1 2017-07-17 16:56:02 +00:00
Sage Weil
8b08bd580d Merge remote-tracking branch 'gh/luminous' 2017-07-07 14:19:47 -04:00
Kefu Chai
d723b8a667 Merge pull request #15305 from wjwithagen/wip-wjw-HAVE_BABELTRACE
cmake: Rewrite HAVE_BABELTRACE  option to WITH_

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-07-04 20:20:12 +08:00
Willem Jan Withagen
b331898ea9 CMakeLists.txt: Rewrite 2 remaning options to WITH_
All options to en/disable inclusion of libraries or other software
are of the format WITH_ so that the Cmake commaind like ahs all
WITH_* options. The WITH_=ON option will result in a HAVE_ setting
in CMAKE so that tests can use that variable.

Last "abusers" to actually follow this format.

 - HAVE_BABELTRACE

 - HAVE_ZFSLIB is fixed in #15907

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2017-07-02 17:10:01 +02:00
Kefu Chai
f8d5f74663 cmake: compile libzfs backend conditionally
* do not REQUIRE libzfs if it is enabled, this follows the way how we
  handle `WITH_XFS` option.
* also refactor the cmake script related to libxfs backend support a
  little bit.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-27 23:28:03 +08:00
Jenkins Build Slave User
262617c9f1 12.1.0 2017-06-22 15:43:50 +00:00
Kefu Chai
1e1b108bb6 Merge pull request #15376 from tchaikov/wip-remove-boost-submodule
cmake: build boost as an external project

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-06-15 00:40:28 +08:00
Kefu Chai
1b96dada33 cmake: include boost before default system directory
so ceph will prefer the local boost installation to the one in system if
any.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-14 23:53:50 +08:00
Kefu Chai
83432b4461 cmake: build boost as an external project
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-14 23:53:50 +08:00
Leo Zhang
7681fd8e4a build: add css file to excludes while generate tags
Signed-off-by: Leo Zhang <nguzcf@gmail.com>
2017-06-13 19:43:54 +08:00
Yuri Weinstein
41a90b99aa Merge pull request #15223 from badone/wip-ceph_test_admin_socket_output
tests: Add integration tests for admin socket output

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-06-09 09:01:52 -07:00
Sage Weil
f3904aad0c Merge pull request #15600 from ceph/luminous
12.0.3
2017-06-09 09:13:59 -05:00
Sage Weil
c2e346cf12 Merge pull request #15562 from tchaikov/wip-no-assert.h
common,osdc: remove atomic_t completely

Reviewed-by: Sage Weil <sage@redhat.com>
2017-06-08 20:38:23 -05:00
Sage Weil
b0e9f3ed51 Merge pull request #15102 from majianpeng/blockdevice-pmem
os/bluestore/BlockDevice: support pmem device as bluestore backend

Reviewed-by: Sage Weil <sage@redhat.com>
2017-06-08 13:15:52 -05:00
Kefu Chai
a87fa37e46 cmake,debian,rpm: remove atomic_t completely
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-08 12:21:00 +08:00
Jianpeng Ma
e25accff7d os/bluestore/BlockDevice:support pmem device as bluestore backend.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2017-06-07 23:22:52 +08:00
Kefu Chai
8f5a5a9c12 Merge pull request #15413 from tchaikov/wip-rgw-boost-cleanup
rgw: drop asio/{yield,coroutine}.hpp replacements

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-06-07 22:34:42 +08:00
Brad Hubbard
c5536b1976 tests: Add integration tests for admin socket output
Add a framework to test all admin socket commands as reported by "help"
as well as custom commands.

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2017-06-07 16:48:02 +10:00
Haomai Wang
a97a6e8274 compressor: add LZ4 support
Signed-off-by: Haomai Wang <haomai@xsky.com>
2017-06-03 15:56:05 +08:00
Kefu Chai
1d19254ba2 rgw: drop asio/{yield,coroutine}.hpp replacements
as we requires boost 1.61+ now, which offers them. see
http://www.boost.org/doc/libs/1_61_0/boost/asio/.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-03 02:19:50 +08:00
Kefu Chai
9fd19500bf Merge pull request #15225 from smithfarm/wip-s390-rgw
build/ops: conditionalize rgw Beast frontend so it isn't built on s390x architecture

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-05-30 20:39:12 +08:00
Nathan Cutler
b22cde8e88 cmake: build boost::context and coroutine only with rgw Beast frontend
boost::context is currently (1.63) unsupported for s390x and anyway
it makes sense to conditionalize Boost components so they are only
built with the Ceph components that need them (like is already being
done for mgr).

Fixes: http://tracker.ceph.com/issues/20048
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Signed-off-by: Tim Serong <tserong@suse.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-05-29 22:47:44 +02:00
Kefu Chai
7a5a0a893e Merge pull request #15338 from trociny/wip-get_process_name
common: get_process_name: use getprogname on bsd systems

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
2017-05-29 20:55:30 +08:00
Kefu Chai
ef9d93b8ea Merge pull request #15055 from mogeb/wip-with-instrument-functions
cmake: Add -finstrument-functions flag to OSD code

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-05-28 14:45:57 +08:00
Mykola Golub
134e295c69 common: get_process_name: use getprogname on bsd systems
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2017-05-27 21:13:08 +02:00
Mohamad Gebai
0baebc308c cmake: configuration for OSD function instrumentation
Signed-off-by: Mohamad Gebai <mgebai@suse.com>
2017-05-25 15:16:14 -04:00
Matt Benjamin
d06d13472c Merge pull request #15070 from ceph/wip-turn-off-fcgi-tserlin
rgw: Turn off fcgi as a frontend
2017-05-24 15:53:57 -04:00
Bassam Tabbara
23b073237e cmake: fix boost components for WITH_SYSTEM_BOOST
when using WITH_SYSTEM_BOOST dont set header-only packages
for BOOST_COMPONENTS. On some distros these packages dont
exist.

Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
2017-05-18 10:18:10 -07:00
Yuri Weinstein
9187156b55 Merge pull request #15069 from tchaikov/wip-inttypes-cleanup
int_types.h: remove hacks to workaround old systems

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
2017-05-16 13:18:23 -07:00
Jenkins Build Slave User
f2337d1b42 12.0.3 2017-05-16 12:42:56 +00:00
Sage Weil
880dde8e47 Merge pull request #15091 from ceph/luminous
merge v12.0.2 release tag
2017-05-15 12:47:42 -05:00
Kefu Chai
9a44857a09 int_types.h: remove hacks to workaround old systems
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-05-13 10:20:26 +08:00
Thomas Serlin
2643fe88b2 RGW: Turn off fcgi as a frontend
Signed-off-by: Thomas Serlin <tserlin@redhat.com>
2017-05-12 11:35:12 -04:00
Sage Weil
b4eab62c5e CMakeLists.txt: WITH_BLKIN off for now
We are unconditionally linking lttng-ust, which make selinux complain. We
should either

 - fix selinux rules and unconditionally link
 - dlopen at runtime based on an option (like we do for the current
   tracepoints)
 - ???

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-05 14:05:24 -04:00
Sage Weil
bdd6c3f382 CMakeLists.txt: default WITH_BLKIN=ON
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-05 14:05:24 -04:00
Casey Bodley
26678e673a cmake: build blkin instead of using find_package
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-05-05 14:05:24 -04:00
Casey Bodley
5ec55b9daa cmake: add module and WITH_BLKIN option for blkin
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-05-05 13:59:46 -04:00
Casey Bodley
4d076dd565 rgw: rename frontend from asio to beast
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-05-05 10:12:35 -04:00
Casey Bodley
5b41fb55e4 rgw: update Beast for streaming reads in asio frontend
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-05-05 10:12:35 -04:00
liuchang0812
e2bb57b53b cmake: kill duplicated cmake commands
Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
2017-05-04 15:49:08 +08:00
Kefu Chai
61e2ff4840 cmake: enable crosscompile of boost
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-04-30 02:01:33 +08:00
Kefu Chai
b32f1813bb cmake: add "container" to required boost components
it is used by our denc

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-04-28 05:09:08 +08:00
Sage Weil
7e2a286446 Merge pull request #14651 from tchaikov/wip-silent-boost-build
cmake: pass -d0 to b2 if not CMAKE_VERBOSE_MAKEFILE

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-04-25 16:53:58 -05:00
Jenkins Build Slave User
5a1b6b3269 12.0.2 2017-04-20 20:00:00 +00:00
Sage Weil
ab9e8419ec Merge pull request #14690 from ceph/luminous
build/ops: add 12.0.1 release tag in master
2017-04-20 11:55:00 -05:00
Kefu Chai
f2e04c41bb cmake: pass -d0 to b2 if not CMAKE_VERBOSE_MAKEFILE
also do not hardwire the built components

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-04-20 16:56:41 +08:00
Kefu Chai
e1991238e7 cmake: support optional argument for overriding default ctag excludes
so instead of excluding all submodules, one can just exclude boost and
rocksdb using:

  cmake -DCTAG_EXCLUDES="boost;rocksdb" ..

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-04-07 12:06:52 +08:00
Dan Mick
3681683df7 cmake: Add simple recursive ctags target for Ceph source only
Excludes submodules and random JavaScript.

Signed-off-by: Dan Mick <dan.mick@redhat.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-04-06 13:27:12 +08:00
Jenkins Build Slave User
5456408827 12.0.1 2017-03-24 15:48:00 +00:00
DanielBar-On
0aeabb2b51 msg/async/rdma: compile with rdma as default
Issue: 992583
Issue: 992580

Change-Id: I24128b87294d3083c44c934f7d4bed554dd1f8a4
Signed-off-by: DanielBar-On <danielbo@mellanox.com>
2017-03-09 14:20:36 +02:00
Xiaoxi Chen
22ca3aa717 common/MemoryModel: Bump int to long and drop mallinfo
mallinfo(3) doesnt have 64bit compatible version so when
malloc size > 4GB, either wrapped value or a negtive value
returned, which is really misleading.

Also bump up all int to long to prevent overflow oneday we
have > 2TB memory.

Signed-off-by: Xiaoxi Chen <xiaoxchen@ebay.com>
2017-02-22 08:36:20 -07:00
Willem Jan Withagen
ce3b71acd2 CMakeLists.txt: suppress unneeded warningiabout jemalloc
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2017-02-12 15:03:56 +01:00
Jenkins Build Slave User
b7d9d6eb54 12.0.0 2017-02-08 13:57:33 +00:00
Yehuda Sadeh
5c5147efdf Merge pull request #12492 from yehudasa/wip-func-oid-tracing
osd, messenger, librados: lttng oid tracing

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2017-01-18 15:19:21 -08:00
Anjaneya Chagam
b3b20449da common: extend lttng tracing infrastructure
New function and oid lttng tracing enhancements that provide function
and oid level latency breakdown. Requires WITH_EVENTTRACE=ON option to enable.

Signed-off-by: Anjaneya Chagam <anjaneya.chagam@intel.com>
2017-01-16 13:58:57 -08:00
Bassam Tabbara
615b4b2600 cmake: support for external rocksdb
add support for building with an external rocksdb.

Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
2017-01-16 09:33:32 -08:00
Jason Dillaman
7c55be9080 Merge pull request #12798 from wjwithagen/wip-wjw-krbd-optional
rbd: enable rbd on FreeBSD (without KRBD)

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-01-16 11:22:15 -05:00
Kefu Chai
2ea4b94fe1 Merge pull request #12345 from rook/wip-embedded-add-rgw-mds
cmake: add RGW and MDS to libcephd

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-01-16 09:54:12 +08:00
Kefu Chai
4845541933 Merge pull request #12615 from linuxbox2/wip-sanitizers
build/cmake:  provide asan, tsan, ubsan builds

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2017-01-14 00:26:12 +08:00
Willem Jan Withagen
78c04b1c08 CMakeLists.txt: Introduce WITH_KBRD for kernel RBD
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2017-01-12 16:12:41 +01:00
Bassam Tabbara
853d5221e9 rgw: make fcgi optional during build
fcgi can now be compiled out of the binary. this reduces the system
dependencies when fcgi is not needed or used.

Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
2017-01-11 14:06:08 -08:00
Kefu Chai
8f7643792c cmake: turn libcommon into a shared library
prior to this change, libcommon is a convenient library which gets
linked into librados, librbd and libcephfs and all ceph executables.
this incurs some problems:
 - double dose of libcommon in memory space and HDD: waste of memory
   and disk space.
 - if an application links to two libraries including libcommon at the
   same time. take librados and libcephfs as an example, they could
   interfere with each other by changing the other guy's status.
after this change, libcommon is tuned into a shared library and
renamed to libceph-common. it will be installed into $prefix/lib/ceph,
and packaged in librados2.

ceph.spec.in,debian/librados2.install: package libceph-common in
  librados2.
CMakeLists.txt:
  - do not link against libboost-* if not necessary.
  - s/common/ceph-common/g
  - install libceph-common into $prefix/lib/ceph
  - set rpath to $prefix/lib/ceph
  - link against ceph-common if an executable needs access to non public
    symbols in ceph.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-01-10 21:10:53 +08:00
Matt Benjamin
437a187c77 Merge pull request #11776 from ceph/wip-rgw-openssl-7
Wip rgw openssl 7
2017-01-06 12:08:38 -05:00
Haomai Wang
836c5686b5 Merge pull request #12776 from optimistyzy/201714
cmake: remove Findpciaccess.cmake

Reviewed-by: Kefu Chai <kefu@redhat.com>
Reviewed-by: Pan Liu <pan.liu@istuary.com>
2017-01-06 11:20:27 +08:00
Kefu Chai
d58dcba22f Merge pull request #12763 from wjwithagen/wip-wjw-freebsd-boostpython
CMakeLists.txt: boost_python.so requires libpython.*.so on FreeBSD

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-01-05 22:21:59 +08:00
Willem Jan Withagen
4db092cee0 CMakeLists.txt/FreeBSD: Boost_python needs explicit linking with libpython*.so
- Otherwise losts of unresolved errors will result.

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2017-01-04 21:50:22 +01:00
optimistyzy
52494f15a3 cmake,modules: remove Findpciaccess.cmake
Now SPDK uses the DPDK's library for PCI device
enumeration, we can remove this dependency

Signed-off-by: optimistyzy <optimistyzy@gmail.com>
2017-01-04 12:32:30 +08:00
Ali Maredia
209c0a6cbe Merge pull request #12385 from dlan17/master
cmake: explictly call find_package(PythonInterp) first to fix build err

Reviewed-by: Ali Maredia <amaredia@redhat.com>
2017-01-03 21:55:27 +05:30
Matt Benjamin
83b74f5250 build/cmake: provide asan, tsan, ubsan builds
The options are taken from rocksdb, but updated to match the
instructions here:

https://gist.github.com/kwk/4171e37f4bcdf7705329

Added option to explicitly enable leak checking via
-fsanitize-leak, after review.  The behavior I've observed from
-fsanitize-address and libasan linkage included leak checking,
but perhaps this is not general or changing behavior.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-12-30 12:39:42 -05:00
Sage Weil
7bbb79adcb Merge pull request #12469 from bassam/pr-jemalloc-mallinfo
cmake: disable mallinfo for jemalloc

Reviewed-by: Sage Weil <sage@redhat.com>
2016-12-23 23:10:44 -06:00
Marcus Watts
7caa0bd002 rgw: civetweb/openssl: Load libssl.so and libcrypto.so by soname.
If building with radosgw, always look for openssl library (even when
building with nss).  Then, use objdump to fetch SONAME from the copies
of libssl and libcrypto that were found.  When building civetweb; pass
the library soname values in as the libraries to load with "dlopen".

This is a problem that went away for a bit, but came back with some
changes for
http://tracker.ceph.com/issues/16535

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1341775
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1258961

Fixes: http://tracker.ceph.com/issues/11239

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2016-12-20 00:36:44 -05:00
Bassam Tabbara
5d02fda170 cmake: disable mallinfo for jemalloc
jemalloc does not implement mallinfo. Only check for existence
of mallinfo when the allocator is not jemalloc.

Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
2016-12-13 09:58:45 -05:00
Jenkins Build Slave User
91421d8d04 11.1.0 2016-12-12 18:27:56 +00:00
Yixun Lan
4adb3c13b9
explictly call find_package(PythonInterp) first to fix build err
this is an un-modified message from dev-util/cmake-3.7.1
/usr/share/cmake/Modules/FindPythonLibs.cmake

call ``find_package(PythonInterp)`` first to
 get the currently active Python version by default with a consistent
version  of PYTHON_LIBRARIES.

Signed-off-by: Yixun Lan <dlan@gentoo.org>

---
the detail error message we've met here

Found PythonInterp: python (found suitable version "2.7.12", minimum required is "2")
CMake Error at /usr/share/cmake/Modules/FindPythonLibs.cmake:54 (get_filename_component):
  get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
  src/CMakeLists.txt:209 (find_package)
2016-12-08 15:25:14 +08:00
Kefu Chai
b805505d25 cmake: find keyutils if rbd or libcephfs is enabled
* find_package(keyutils REQUIRED) if (WITH_LIBCEPHFS OR WITH_RBD)
  prior to this change, we detect keyutils if the building platform is not
  FreeBSD, we should instead check the WITH_* options, and let the
  maintainer to decided what is the best for his/her platform, and error
  out if the building host cannot fulfill the requirement to build the
  asserts.
* build krbd.cc if (WITH_RBD)

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-12-07 16:09:08 +08:00
Bassam Tabbara
c6067f48ec embedded: Add a skeleton libcephd library
libcephd is a library that contains ceph daemon code
that can be statically linked in other applications.

Added MergeStaticLibraries.cmake that can merge static libraries
to form a bigger one. This approach avoids the need to mess with
STATIC libraries all over the code base.

Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
2016-11-28 23:48:02 -08:00
Bassam Tabbara
3eef10b977 cmake: fix boost build on ubuntu yakkety
If the host system has boost version 1.61 or higher (as in the case
for ubuntu 16.10 yakkety) the ceph build is currently broken. it
will pickup the system boost libraries but use the headers from the
submodule.

This commit ensure that when WITH_SYSTEM_BOOST is OFF we always
use the boost libraries and headers built from the submodule.

Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
2016-11-22 11:53:34 -08:00
Matt Benjamin
1f9b698eca Merge pull request #12073 from rzarzynski/wip-rgw-compile-asio-by-default
rgw: compilation of the ASIO front-end is enabled by default.
2016-11-21 11:24:32 -05:00
Radoslaw Zarzynski
8bd2407e71 rgw: compilation of the ASIO front-end is enabled by default.
We're changing the default value because the previous one was
a makeshift solution to not fail Ceph compilation due to
the Beast's dependency on Boost >= 1.54 that wasn't available
on CentoOS 7. As we got the in-tree Boost we can compile
the ASIO front-end by default.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
2016-11-18 19:23:46 +01:00
Adam C. Emerson
c0681246ef boost: Make inclde paths SYSTEM includes
We are not debugging Boost and do not need to see its warnings.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2016-11-16 19:54:31 -05:00
Kefu Chai
18d27b19d3 Merge pull request #11800 from bassamtabbara/wip-make-leveldb-optional
mon: support for building without leveldb + mon mkfs bug fix

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-11-13 14:39:11 +08:00
Matt Benjamin
d9e5ad5e92 cmake: replace civetweb symlink w/file copy
Intended to remove an apparent race.  The two effects are
1. replace top-level command callouts w/file builtins
2. do them in the src/rgw sub-cmake

This is cleaner, and ideally avoids the race.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-11-10 14:44:27 -05:00
Bassam Tabbara
bbde2e037b cmake: build without leveldb
now that monitors support rocksdb, fix the build system
to enable compiling without leveldb. kv_backend would need
to be set correctly if you were to to use rocksdb for the
monitors.

Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
2016-11-09 10:29:48 -08:00
Haomai Wang
eae7d5a645 msg/async: add dpdk stack plugin
Signed-off-by: Haomai Wang <haomai@xsky.com>
2016-11-09 11:39:20 +08:00
Matt Benjamin
132469c4e9 Adapt for ceph-manager
The ceph manager change added a separate Boost dependency
check, add it to the combined section.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-11-07 15:57:02 -05:00
Matt Benjamin
5f869450ea cmake: find and build bundled boost
Build Boost using the src/boost submodule, unless overridden
by -DWITH_SYSTEM_BOOST.

If -DBOOST_J=<n> is provided, builds Boost with <n> jobs.

Boost builds in the configured Build directory.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-11-07 15:56:29 -05:00
Yehuda Sadeh
45722ecbe4 Merge pull request #11343 from ceph/wip-civetweb-1.8
Update version of civetweb to 1.8
2016-11-05 12:53:23 -07:00
Yuri Weinstein
ef087a488d Merge pull request #11531 from yuyuyu101/wip-rdma
msg/async: ibverbs/rdma support

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Mellanox <adirl@mellanox.com>
Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
Reviewed-by: Mark Nelson <mnelson@redhat.com>
2016-11-04 07:43:38 -07:00
Marcus Watts
3252c10a15 Updated version of civetweb.
Fixes here:
Pull civetweb from new branch/commit.
Build civetweb.c w/ USE_IPV6 (w/o depending on extra ceph-only build
	logic inside of civetweb.)
Make several things "const" to please the compiler.
Remap port string at '+' -> ,; to avoid , overload.
Use new civetweb options validate_http_method=no canonicalize_url_path=no

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2016-11-03 13:11:54 -07:00
Haomai Wang
cf23acef71 msg/async/rdma: add build ops
Signed-off-by: Haomai Wang <haomai@xsky.com>
2016-11-01 15:34:04 +08:00
Radoslaw Zarzynski
46a44646e8 rgw: make the ASIO front-end compilation optional.
This is because of versioning issues between Boost and Beast
on CentOS 7. It is intended that this patch will be reverted
after merging the in-tree Boost facility.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
2016-10-21 22:57:23 +02:00
Sage Weil
d30ee64fc7 Merge pull request #11500 from liewegas/wip-lttng
CMakeLists.txt: enable LTTNG by default

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-10-18 21:38:40 -05:00
Kefu Chai
7661da65bf Merge pull request #11481 from ddiss/cmake_rgw_deps
cmake: check WITH_RADOSGW for fcgi and expat dependencies

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-10-18 20:40:59 +08:00
Sage Weil
9a8bcf8fbf Merge remote-tracking branch 'gh/kraken' 2016-10-17 13:35:45 -04:00
Jenkins Build Slave User
697fe64f9f 11.0.2 2016-10-17 11:16:50 +00:00
Sage Weil
09a2383673 CMakeLists.txt: enable LTTNG by default
This makes dev builds more closely match package builds.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-10-14 13:54:38 -04:00
David Disseldorp
d5b41b7647 cmake: check WITH_RADOSGW for fcgi and expat dependencies
The fcgi and expat libraries are only used by rgw, so only make them
hard requirements if WITH_RADOSGW is set.

Signed-off-by: David Disseldorp <ddiss@suse.de>
2016-10-13 18:48:21 +02:00
Bassam Tabbara
ca9946d2b5 cmake: find gperftools package for tcmalloc_minimal too
Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
2016-10-11 10:12:52 -07:00
Jenkins Build Slave User
676cd2976f 11.0.1 2016-10-11 16:27:57 +00:00
John Spray
b3189d6824 cmake: update for ceph-mgr
Signed-off-by: John Spray <john.spray@redhat.com>
2016-09-29 17:26:56 +01:00
Casey Bodley
1a76324981 fio: generalize for other ObjectStores
* renamed target to fio_ceph_objectstore
* moved into src/test/fio subdirectory
* added to cmake build
* added support for DDIR_READ
* added required fio option 'conf' to load a ceph configuration file
* added multiple collections per job to simulate parallelism from pgs
* creates objects of the appropriate size on setup
* added support for multiple jobs that share an ObjectStore instance

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-09-13 11:02:17 -04:00
Ricardo Dias
a8f8598a73
cmake: Use WITH_TESTS flag to guard the build of ceph-test scripts/binaries
Signed-off-by: Ricardo Dias <rdias@suse.com>
2016-09-09 14:12:44 +01:00
Kefu Chai
2ed44f993f cmake: replace Findlttng-ust.cmake with FindLTTngUST.cmake
find_package(lttng-ust REQUIRED) fails to find the lttng library without
this change. because find_path(LTTNG_LIBRARY_DIR ...) does not search
in the default library paths. and the second mode of
FIND_PACKAGE_HANDLE_STANDARD_ARGS() does not stop the cmake with a fatal
message, even some of the required vars are missing. so use the
implemetantion from cmake upstream.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-08-30 15:51:51 +08:00
Josh Durgin
aaac836380 Merge pull request #10208 from BlaXpirit/cmake-py3
Include Python 3 bindings into the cmake build and make packages for them

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-08-12 16:30:35 -07:00