Commit Graph

452 Commits

Author SHA1 Message Date
Ira Cooper
54a516f633 configure.ac: Fix JUnit 4 detection on Fedora 22.
This allows the build to detect JUnit 4 on Fedora 22, by adding
junit.jar as a valid jar name for JUnit 4.

Signed-off-by: Ira Cooper <ira@samba.org>
2015-06-17 13:09:44 -04:00
Sage Weil
c06fd71a1a Merge remote-tracking branch 'gh/next' 2015-06-10 13:14:46 -04:00
Loic Dachary
9193afd3d2 tests: automake 1.11 needs parallel-tests
Prior to automake 1.13 the default behavior was serial-tests meaning
tests from make check were run one after the other and their output sent
to stdout/stderr. From automake 1.13 up the default became
parallel-tests which logs the output of each individual test in a
separate .log file and allows them to run in parallel.

http://lists.gnu.org/archive/html/automake/2012-12/msg00038.html

Enable parallel-tests so that tests can always run in parallel, even
with automake 1.11 which is the version found in CentOS 6.5 and Ubuntu
12.04 precise.

A nice side effect of always having the logs in separate files is that
tests do not need to worry about being too verbose because their output
will only be read for diagnostic purposes.

http://tracker.ceph.com/issues/11931 Fixes: #11931
http://tracker.ceph.com/issues/11906 Fixes: #11906

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-06-09 14:56:49 +02:00
Jenkins
997b3f998d 9.0.1 2015-06-05 10:59:02 -07:00
Joaquim Rocha
63aa2e6a95 build: Add info about tests to --with-debug option
The configure's --with-debug option builds also some of the tests
so this should be mentioned in its doc string in order to let users
know how to build all the tests.

Signed-off-by: Joaquim Rocha <joaquim.rocha@cern.ch>
2015-06-05 15:17:42 +02:00
Jason Dillaman
650ad32d74 common: add valgrind.h convenience wrapper
Conditionally support helgrind annotations if valgrind support is
enabled during the build.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:49:51 -04:00
Owen Synge
ac347dc340 Template systemd/ceph-osd@.service with autotools,
The libexec path is different for different distributions.
systemd. This path is defined by a new variable on the
configure path.

This variable can be set with enviroment SYSTEMD_LIBEXEC_DIR.
The parameter --with-systemd-libexec-dir overrides the enviroment
variable.

Appropriate conditionals are set for SUSE and RHEL derivatives.

This is then used to template out systemd/ceph-osd@.service

Signed-off-by: Owen Synge <osynge@suse.com>
2015-05-26 19:04:22 +02:00
Kefu Chai
899dd23766 configure.ac: no use to add "+" before ac_ext=c
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-06 10:17:48 +08:00
Kefu Chai
5b2357e663 configure.ac: add an option: --with-man-pages
* do not require sphinx-build if --without-man-pages
* dist rst files for man pages
* build and dist .8 files if sphinx-build is found

Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-06 10:17:42 +08:00
Sage Weil
7f209b4bc8 Merge remote-tracking branch 'gh/next' 2015-05-05 09:53:51 -07:00
Jenkins
bd79891039 9.0.0 2015-05-04 12:32:59 -07:00
Kefu Chai
156e55b7f9 man: do not dist man pages if sphinx is not available
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-05 02:00:02 +08:00
Kefu Chai
c107b8ec74 configure.ac: do not check for sphinx-build
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-05 00:32:17 +08:00
Samuel Just
c6c6b203ef Merge pull request #4008 from SUSE/wip-tcmalloc-conditionals
Conditional-compile against minimal tcmalloc.

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-05-01 09:34:06 -07:00
Jason Dillaman
6e84ceb418 autotools: detect presence of valgrind
Conditionally enable running librbd unit tests under valgrind.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-04-30 10:56:54 -04:00
Sage Weil
ad4cc4a7c8 Merge pull request #4448 from tchaikov/wip-check-libxml2-and-libcurl
configure.ac: check for libcurl and libxml2 if build libs3

Reviewed-by: Sage Weil <sage@redhat.com>
2015-04-23 08:59:12 -07:00
Sage Weil
9d9ad83b28 Merge pull request #4446 from osynge/wip-expat
libexpat is now used for rgw

Reviewed-by: Sage Weil <sage@redhat.com>
2015-04-23 08:48:13 -07:00
Kefu Chai
62522b0345 configure.ac: check for libcurl and libxml2 if build libs3
Fixes: #11458
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-04-23 20:32:30 +08:00
Owen Synge
2b2c5d18e1 libexpat is now used for rgw
Check for expat.h
check libexpat has method XML_Parse.

Signed-off-by: Owen Synge <osynge@suse.com>
2015-04-23 10:14:33 +02:00
William A. Kennington III
8e026c781c Fix the disablement of pgrefdebugging
Currently, if you add the flag --disable-pgrefdebugging during configure
it enables pgrefdebugging. The only way for it to actually be disabled
is to remove the flag entirely. This patch makes the flag respect the
--enable and --disable options correctly. Therefore,
--enable-pgrefdebugging is the only way to enable this now and
--enable-pgrefdebugging=no and --disable-pgrefdebugging work as
expected.

Signed-off-by: William A. Kennington III <william@wkennington.com>
2015-04-21 22:32:54 -07:00
Sage Weil
980d8f9da0 Merge remote-tracking branch 'gh/hammer'
Conflicts:
	src/gmock
2015-04-07 12:57:07 -07:00
Jenkins
e61c4f093f 0.94 2015-04-07 10:05:41 -07:00
Loic Dachary
e39070fea7 man: using sphinx-1.0-build if no sphinx-build
On RHEL 6 and CentOS 6 sphinx 1.0+ which is required to build man pages
is packaged as sphinx10 instead of sphinx and the binary is
sphinx-1.0-build instead of sphinx-build.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-04-03 02:59:58 +02:00
Loic Dachary
18c34f2133 Merge pull request #4142 from ceph/wip-no-more-dot-8
doc: generate man pages in man/Makefile

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-04-02 17:42:23 +02:00
Thorsten Behrens
c6f1c07113 Conditional-compile against minimal tcmalloc.
Certain older systems (SLE11 in this case) do not provide the full
tcmalloc functionality, due to e.g. incomplete libunwind
pieces. Use --with-tcmalloc-minimal to enable the cut-down
version.

Here's how the various mem allocator switches interact now:

--with-jemalloc: overrides --with-tcmalloc & --with-tcmalloc-minimal
--with-tcmalloc-minimal: overrides --with-tcmalloc
--with-tcmalloc: the default. use --without-tcmalloc to disable

Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
2015-03-30 03:23:45 +02:00
Sage Weil
c639ce51ac Merge pull request #3604 from yghannam/yazen-testing
crc32c: add aarch64 optimized crc32c implementation

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-25 10:06:46 -07:00
Kefu Chai
301fe6cbf2 doc: generate man pages in man/Makefile
* move rst files from doc/man/8 into man/8
* extract man_pages setting for sphinx from doc/conf.py to man/conf.py
* generate all man pages in `make install`
* add python-sphinx to Build-Depends
* check for sphinx-build in `configure`
* run changed rst files through sphinx-build in `make check`

Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-03-24 12:36:41 +08:00
Sage Weil
d26a9dce5e Merge remote-tracking branch 'gh/hammer'
Conflicts:
	PendingReleaseNotes
	src/Makefile.am
	src/gmock
	src/test/Makefile.am
2015-03-19 12:41:04 -07:00
Danny Al-Gaaf
cca067efde configure.ac: add --disable-gitversion
During development each git commit cause currently a complete
rebuild of the source tree. By passing --disable-gitversion to
configure we set a generic version string for ceph to prevent
getting after each commit a new version set.

remove src/check_version and replace with a extended version
of src/make_version which allows detecting changes in .git_version
and ceph_ver.h to avoid not needed updates.

This change also forces to call make_version each time to make
sure that changes from configure or the NO_VERSION env variable
are processed.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2015-03-19 09:38:46 +01:00
Yazen Ghannam
60762338a2 crc32c: add aarch64 optimized crc32c implementation
ARMv8 defines a set of optional CRC32/CRC32C instructions.
This patch defines an optimized function that uses these
instructions when available rather than table-based lookup.
Optimized function based on a Hadoop patch by Ed Nevill.

Autotools updated to check for compiler support.
Optimized function is selected at runtime based on HWCAP_CRC32.
Added crc32c "performance" unit test and arch unit test.

Tested on AMD Seattle.
Passes all crc32c unit tests.
Unit test shows ~4x performance increase versus sctp.

Signed-off-by: Yazen Ghannam <yazen.ghannam@linaro.org>
Reviewed-by: Steve Capper <steve.capper@linaro.org>
2015-03-17 13:56:52 -05:00
Rohan Mars
d06c1d7097 rhel 5.9 port fixes to compile librados only
Signed-off-by: Rohan Mars <code@rohanmars.com>
2015-03-15 12:28:06 -07:00
Boris Ranto
e531dd4b37 Add new configure options to improve build refinement 2015-03-05 19:57:08 +01:00
Jenkins
bebf8e9a83 0.93 2015-02-27 09:52:54 -08:00
Danny Al-Gaaf
65ce7b731a fix configure to reflect the missing libs for xio
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2015-02-11 14:37:01 +01:00
Sage Weil
5a08179384 Merge remote-tracking branch 'gh/next' 2015-02-03 06:52:07 -08:00
Jenkins
00a3ac3b67 0.92 2015-02-02 10:35:28 -08:00
Sage Weil
74e584b258 Merge pull request #3311 from xinxinsh/fix1
disable tcmalloc by default when enable jemalloc

Reviewed-by: Sage Weil <sage@redhat.com>
2015-01-27 12:56:00 -08:00
Jason Dillaman
bf05ec186a tests: replace existing gtest 1.5.0 with gmock/gtest 1.7.0
Google Testing Framework is included by default within the Google
C++ Mocking Framework.  Update makefiles to use new gmock/gtest
libraries and remove old gtest source code.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-01-25 23:09:03 -05:00
Sage Weil
01af73bc45 Merge pull request #3211 from yuyuyu101/wip-10172
AsyncMessenger: Bind thread to core, use buffer read and fix some bugs
2015-01-19 12:38:01 -08:00
Haomai Wang
f4fcff16b6 AsyncMessenger: Bind async thread to special cpu core
Now, 2-4 async op thread can fully meet a OSD's network demand with SSD
backend. So we can bind limited thread to special cores, it can improve
async event loop performance because most of structure and method will
processed within thread.

For example,

ms_async_op_threads = 2
ms_async_affinity_cores = 0,3

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2015-01-16 03:07:09 +08:00
Matt Benjamin
45e9cd5bd4 Fix make check blockers.
Replace ceph-helpers.sh check for ms_nocrc with the new formula
for this.  Fixes make check for default build.

	Additionally, fix linkage of several unittests when building with
	--enable-xio.
	xio:  add missing noinst headers
		The common/address_helper.h file was not mentioned, also
		msg/xio/XioSubmit.h.
	Fix for Message.cc compilation error when Xio disabled.
	Mention simple_dispatcher.h and xio_dispatcher.h in noinst_HEADERS.
	xio:  require boost-regex.
	Make address_helper conditional on Xio.
		This carries over to simple_client/simple_server,
		for convenience.

Signed-off-by: Matt Benjamin <matt@cohortfs.com>
2015-01-14 16:44:47 -05:00
Matt Benjamin
dcfb80a8db Accelio Autotools glue.
Add Accelio to build process with --enable-xio is provided.

Signed-off-by: Matt Benjamin <matt@cohortfs.com>
2015-01-14 16:43:43 -05:00
Sage Weil
5c8ee3388f Merge remote-tracking branch 'gh/next' 2015-01-14 08:57:33 -08:00
Jenkins
725d66098c 0.91 2015-01-13 12:10:22 -08:00
Danny Al-Gaaf
36dd487a0c configure.ac: fix warnings about unknown commands
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2015-01-07 10:14:11 +01:00
xinxin shu
1c38895fe0 disable tcmalloc by default when enable jemalloc
Signed-off-by: xinxin shu <xinxin.shu@intel.com>
2015-01-07 14:14:50 +08:00
Ken Dreyer
6ca2eb86be configure: show pkg names when libkeyutils is missing
Prior to this commit, when ./configure can't find libkeyutils, it would
bail out with a terse error message.

Some of the other library checks helpfully print the DEB and RPM package
names in parentheses. Add the DEB and RPM package names to the
libkeyutils check.

Reported-by: Pankaj Garg <Pankaj.Garg@caviumnetworks.com>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-01-05 12:19:40 -07:00
Loic Dachary
94abadbd80 tests: replace --enable-docker with --enable-root-make-check
The --enable-docker logic was that each test that needs privileges to
run uses a container to do so. The problem with this approach and
make -j8 check is that such tests compete for a single container.

The --enable-root-make-check activates tests that require privileges and
assume it is ok to use sudo to acquire privileges. The decision to run
in a container is then taken by the caller who will run something like:

   docker-tests.sh ./configure --enable-root-make-check
   docker-tests.sh make -j8 check

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2014-12-21 17:53:00 +01:00
Sage Weil
6067462102 Merge remote-tracking branch 'gh/next' 2014-12-19 11:55:58 -08:00
Jenkins
08bd1e1eee 0.90 2014-12-19 06:56:22 -08:00