Commit Graph

349 Commits

Author SHA1 Message Date
Noah Watkins
cfb82a1759 filejournal: add journal pre-allocate for osx
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-10 15:50:13 -08:00
Sage Weil
3596b4cfdb Merge pull request #823 from ceph/port/detect-libresolv
autoconf: check for res_nquery explicitly
2013-11-09 00:36:08 -08:00
Sage Weil
3c70da20e3 Merge pull request #834 from ceph/port/stat
client: use platform-specific stat time members

Reviewed-by: Sage Weil <sage@inktank.com>
2013-11-08 00:26:17 -08:00
Gary Lowell
aef3378bd7 Merge branch 'next' 2013-11-08 05:19:11 +00:00
Noah Watkins
01f7b463d1 client: use platform-specific stat time members
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-07 15:48:05 -08:00
Gary Lowell
5832e2603c v0.72 2013-11-07 20:27:35 +00:00
Noah Watkins
afb3566b18 conf: use better clang detection
Handle case where compiler isn't called 'clang'. This is slightly
modified from the version here:
http://src.chromium.org/svn/branches/1312/src/third_party/mesa/MesaLib/configure.ac

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-06 14:33:52 -08:00
Noah Watkins
ac044812d0 assert: choose function-var name on non-gnu
Selects __PRETTY_FUNCTION__ or __func__. Linux assumes GNU, and chooses
__PRETTY_FUNCTION__ if gcc/g++ versions are favorable.

This also includes a fix in ax_c_var_func.m4:

AC_TRY_COMPILE will wrap the test in main{}, and then GCC will complain
about nested functions. Just use the original main{} body.

diff --git a/m4/ax_c_var_func.m4 b/m4/ax_c_var_func.m4
index 0ad7d2b..8b57563 100644
--- a/m4/ax_c_var_func.m4
+++ b/m4/ax_c_var_func.m4
@@ -57,9 +57,9 @@ AC_DEFUN([AX_C_VAR_FUNC],
 [AC_REQUIRE([AC_PROG_CC])
 AC_CACHE_CHECK(whether $CC recognizes __func__, ac_cv_c_var_func,
 AC_TRY_COMPILE(,
-[int main() {
+[
 char *s = __func__;
-}],
+],
 AC_DEFINE(HAVE_FUNC,,
 [Define if the C complier supports __func__]) ac_cv_c_var_func=yes,
 ac_cv_c_var_func=no) )

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-06 14:16:28 -08:00
Noah Watkins
81a3ea1bc0 rgw: add compat file for name service macros
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-05 13:38:48 -08:00
Noah Watkins
1cc8558b60 autoconf: check for res_nquery explicitly
Creates a test that checks explicitly for res_nquery, which can be a
macro in resolv.h. Defines RESOLV_LIBS that contains any libraries that
need to be linked against.

Notes from later fix:

Based on the 2013-09-30 version of wip-port.  On FreeBSD, one must
include netinet/in.h to get the definitions for stuff in resolv.h.
Also, resolv.h's functions are part of libc instead of libresolv.

Signed-off-by: Alan Somers <asomers@gmail.com>
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-05 08:24:11 -08:00
Sage Weil
74873fd110 Merge pull request #816 from ceph/wip-fadvise
wbthrottle: use posix_fadvise if available

Reviewed-by: Sage Weil <sage@inktank.com>
2013-11-05 05:31:57 -08:00
Noah Watkins
6821a6e83a assert: use feature test for static_cast
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-04 13:14:11 -08:00
Noah Watkins
330a6a769b wbthrottle: use posix_fadvise if available
Only adding information about data usage. This won't effect correctness.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-04 13:01:33 -08:00
Noah Watkins
59a55fdaaf pipe: use pipe2 feature test; check fcntl retval
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-01 16:21:14 -07:00
Gary Lowell
e11c9756af v0.72-rc1 2013-10-30 00:45:10 +00:00
Gary Lowell
e509cb1e69 v0.71 2013-10-17 09:19:36 +00:00
Gary Lowell
7efbebe20f Merge branch 'next' 2013-10-05 02:11:36 +00:00
Gary Lowell
e3bb0656d9 v0.70 2013-10-04 20:12:24 +00:00
Sage Weil
b683005c21 Merge pull request #607 from ceph/prctl-getname-test
code_env: use feature test for PR_GET_NAME support

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-23 10:14:07 -07:00
Noah Watkins
f3718c29bb code_env: use feature test for PR_GET_NAME support
Function `get_process_name` has platform specific dependencies. Check
for Linux prctl function and correct command flag.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-09-19 15:00:31 -07:00
Gary Lowell
5216ed134b Merge pull request #604 from ceph/wip-buck-centos-core
Wip buck centos core
Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
2013-09-19 13:01:00 -07:00
Gary Lowell
33671f3554 Merge branch 'next' 2013-09-18 09:11:02 +00:00
Gary Lowell
6ca6f2f9f7 v0.69 2013-09-18 01:40:51 +00:00
Joe Buck
971bf60b39 Remove unneeded junit4 check
We refactored the java tests to not use
the ExternalResource class, so this test
is no longer necessary.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-09-16 22:07:02 -07:00
Joe Buck
cd6f4bcdae Use a loop for testing jdk paths
Loop through a list of sensible default
locations for a JDK, stopping if a
workable JDK is found.
Also, add support for CentOS' default
java location.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-09-16 22:02:59 -07:00
Noah Watkins
b86c068669 hadoop: remove hadoop shim
The in-tree Hadoop shim was a combination of libcephfs wrapper, and the
bits to support Hadoop. This has been replaced by src/java that
implements generic libcephfs wrappers, and externally, the hadoop shim
(see docs).

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-09-13 13:39:48 -07:00
Roald J. van Loon
7845115f8b automake cleanup: adding vta support to configure
Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
2013-09-07 22:41:09 +02:00
Sage Weil
cfb07f1451 arch: add NEON cpu feature detection
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2013-09-04 16:05:00 -07:00
Gary Lowell
d9187a73c3 Merge branch 'next' 2013-09-04 01:37:41 -07:00
Gary Lowell
b4cf0f2574 v0.68 2013-09-03 16:10:31 -07:00
Sage Weil
14a483745f Merge pull request #514 from kri5/wip-clang-compilation
Do not use some compilation flag invalid for clang

Reviewed-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-23 21:21:57 -07:00
Sage Weil
e55809acd2 crc32c: add intel optimized crc32c implementation
This is from Intel's ISA-L library and licensed under BSD 3-clause.

It needs to build with yasm, which means we go through all sorts of pain
to make this work with libtool:

 - strip out args it doesn't understand with yasm-wrapper
 - detect whether it is recent enough during configure

The code is conditional on:

 - build-time support (yasm)
 - run-time support (sse4.2)

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-22 09:15:05 -07:00
Christophe Courtaut
8e53301840 Do not use some compilation flag invalid for clang
-Wstrict-null-sentinel and -rdynamic are invalid flags
for clang compiler.

Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
2013-08-20 11:42:19 +02:00
Yan, Zheng
5a15369865 store: Add (experimental) ZFS parallel journal support
This patch adds ZFS parallel journal support. It uses libzfs provided by
zfsonlinux to access ZFS' functionalities. To enable ZFS parallel journal
support, compile ceph by:

  ./configure --with-libzfs LIBZFS_CFLAGS="-I<libzfs header> -I<libspl header>"
  make

Add following line to osd section of ceph.conf

  filestore zfs_snap = 1

Note: ZFS (no mater parallel journal is enabled or not) does not support
direct IO. To use it as backend FS for OSD, you need to add following line
to osd section of ceph.conf

  journal aio = 0
  journal dio = 0

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-08-15 09:48:22 -07:00
Sage Weil
ddaf6d5a93 Merge remote-tracking branch 'gh/next'
Conflicts:
	configure.ac
	src/ceph.in
	src/pybind/ceph_argparse.py
2013-07-25 10:48:57 -07:00
Gary Lowell
1cdb3ecffc configure.ac: Remove -rc suffix from the configure version number.
Remove the rc suffix since RPM complains about.  For rc release
builds the "rc" in the git describe string is suffcient for
everyhting but RPM.  For rc release builds (i.e. not gitbuilder)
add a flag to the spec file.

Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
2013-07-23 22:43:59 -07:00
Gary Lowell
b7c40ec4c3 configure.ac: Set version number to match git describe.
Workaround for issue with rc1 suffix for rpms.

Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
2013-07-23 21:42:03 -07:00
Gary Lowell
fc6cb81eba Merge branch 'next' 2013-07-22 23:19:47 -07:00
Gary Lowell
835dd97301 v0.67-rc1 2013-07-22 11:57:27 -07:00
Noah Watkins
3846bf2f1a fuse: fix fuse_getgroups detection
The ac_check_func fails because -lfuse is not in LIBS. This also enables
code that wasn't being compiled, and fixes compiler errors that
resulted.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-21 20:00:28 -07:00
Sage Weil
aa7448cd17 Merge pull request #415 from ceph/rgw-next 2013-07-09 15:34:05 -07:00
Yehuda Sadeh
73c2a3dcd3 configure.ac: detect whether libcurl supports curl_multi_wait()
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-07-08 23:43:00 -07:00
Gary Lowell
b6b48dbefa v0.66 2013-07-08 15:45:00 -07:00
Gary Lowell
c2d517ef96 v0.65 2013-06-25 09:19:32 -07:00
Gary Lowell
42e06c12db v0.64 2013-06-12 09:54:06 -07:00
Gary Lowell
054e96cf79 v0.63 2013-05-28 13:58:22 -07:00
Gary Lowell
9382379cc6 v0.62 2013-05-14 09:13:07 -07:00
Gary Lowell
237f3f1e8d v0.61 2013-05-06 13:18:56 -07:00
Samuel Just
1493e7dbfb osd/: optionally track every pg ref
This involves three pieces:

For intrusive_ptr type references, we use TrackedIntPtr instead.  This
uses get_with_id and put_with_id to associate an id and backtrace with
each particular ref instance.

For refs taken via direct calls to get() and put(), get and put now
require a tag string.  The PG tracks individual ref counts for each tag
as well as the total.

Finally, PGs register/unregister themselves on construction/destruction
with OSDService.

As a result, on shutdown, we can check for live pgs and determine where
the references are held.

This behavior is compiled out by default, but can be included with the
--enable-pgrefdebugging flag.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-04-19 11:05:58 -07:00
Greg Farnum
8f21beb23c leveldbstore: handle old versions of leveldb
The filter_policy (bloom filter) stuff is fairly new in LevelDB's life,
and it turns out that precise's version is too old for it. Add conditional
compilation for those members in order to build and work properly.

Signed-off-by: Greg Farnum <greg@inktank.com>
2013-04-17 15:14:35 -07:00
Gary Lowell
f26f7a3902 v0.60 2013-04-01 12:22:53 -07:00
Gary Lowell
cbae6a435c v0.59 2013-03-19 22:27:13 -07:00
Gary Lowell
66cadbe515 Merge branch 'next' 2013-03-05 09:05:21 -08:00
Gary Lowell
ba3f91e750 v0.58 2013-03-04 15:18:24 -08:00
Danny Al-Gaaf
37d148ba91 configure.ac: check for libsnappy
Since libsnappy is needed by leveldb, check if the lib is installed
before check for leveldb.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-27 14:27:48 +01:00
Gary Lowell
ea546aef0c Build: Change build to always use system leveldb
Dynamically link to the leveldb installed on the system rather than
statically linking ceph copy.  Remove the --with-system-leveldb config
option, and add a requirement for leveldb libraries for rpm and debian
packages.  Bug 3945.

Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
2013-02-26 20:07:49 -08:00
Gary Lowell
aa79077c24 configure.ac: Add test for c++ compiler.
The AC_PROG_CXX macro sets a flag if a C++ compiler is found
but does not fail if one is not found, it left to application
to test the flags as needed. This fix will issue an error
when a c++ compiler is not found.  Bug 3955.

Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>

it's not installed, this fix adds an error message for a
2013-02-25 19:35:34 -08:00
Gary Lowell
9a7a9d06c0 v0.57 2013-02-19 10:07:42 -08:00
Danny Al-Gaaf
f74265b08a configure: fix check for fuse_getgroups()
Check for fuse_getgroups() only in case we have found libfuse already.
Moved the check to the check for --with-fuse.

Small fix: fix string for NO_ATOMIC_OPS, don't use "'".

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-01-28 13:56:32 -08:00
Danny Al-Gaaf
fa421cf5f5 configure: remove -m4_include(m4/acx_pthread.m4)
Since we use already AC_CONFIG_MACRO_DIR, no need to include m4/acx_pthread.m4
extra.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-01-26 22:35:15 -08:00
Danny Al-Gaaf
32276e9afb configure: fix RPM_RELEASE
Use git to get RPM_RELEASE only if this is a git repo
clone and if the git command is available on the system.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-01-26 22:34:58 -08:00
Danny Al-Gaaf
c1a86ab142 configure.ac: fix problem with --enable-cephfs-java
The AS_IF used to cover java related checks via --enable-cephfs-java
didn't work correctly. Use a plain 'if/fi' instead to make sure this
section is only executed if --enable-cephfs-java is used.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-01-16 09:41:13 -08:00
Danny Al-Gaaf
59aad34795 configure.ac: check for org.junit.rules.ExternalResource
Check for org.junit.rules.ExternalResource if build with
--enable-cephfs-java and --with-debug. Checking for junit4
isn't enough since junit4 has this class not before 4.7.

Added some m4 files to get some JAVA related macros. Changed
autogen.sh to work with local m4 files/macros.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-01-09 19:52:05 -08:00
Danny Al-Gaaf
61437ee24e configure.ac: change junit4 handling
Change handling of --with-debug and junit4. Add a new conditional HAVE_JUNIT4
to be able to build ceph-test package also if junit4 isn't available. In
this case simply don't build libcephfs-test.jar, but the rest of the tools.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-01-09 17:13:11 -08:00
Danny Al-Gaaf
aedbb97fe6 configure.ac: remove AC_PROG_RANLIB
Remove already comment out AC_PROG_RANLIB to get rid of warning:

libtoolize: `AC_PROG_RANLIB' is rendered obsolete by `LT_INIT'

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-01-09 17:13:11 -08:00
Gary Lowell
1a32f0a0b4 v0.56 2012-12-31 17:10:11 -08:00
Sage Weil
0dd1302543 Merge remote-tracking branch 'gh/testing' into next 2012-12-17 16:51:20 -08:00
Gary Lowell
8e25c8d984 v0.55.1 2012-12-12 16:24:34 -08:00
Sage Weil
81e567c90d Merge remote-tracking branch 'gh/wip-ceph-test' into next 2012-12-08 09:18:21 -08:00
Gary Lowell
690f817560 v0.55 2012-12-03 19:08:35 -08:00
Gary Lowell
af5d9e435f Makefiles: Use AM_CXXFLAGS for crypto library compiler options
In configure.ac, add the crypto library compiler flags to AM_CXXFLAGS and in
src/Makefile remove CRYPTO_CXXFLAGS and use only AM_CXXFLAGS which now has
the flags if needed.
2012-11-27 13:50:25 -08:00
Chen Baozi
68491afceb rgw: add -lresolv flags to Makefile.am
radosgw depends on libresolv since since the commit 951c6be. So we need to
add -lresolve flags, or it cannot link right library.

Signed-off-by: Chen Baozi <baozich@gmail.com>
2012-11-17 23:21:08 -08:00
Gary Lowell
8b187bd8ca build: update for boost_thread library.
There is a difference in naming conventions between debian and
rpm based distributions for this library.  In configure.ac we
check first for boost_thread-mt, then if it's not found check
for boost_thread.  A side effect of the AC_CEHCK_LIB macro is
to add the library to the $LIBS, so the explicit -llibboost_thread
in the Makefile has been removed.
(cherry picked from commit f0c7bb3630)
2012-11-16 10:51:42 -08:00
Gary Lowell
7926ef5393 Merge branch 'next'
Conflicts:
	configure.ac
	src/rgw/rgw_common.cc
2012-11-13 17:29:47 -08:00
Gary Lowell
60b84b095b v0.54 2012-11-13 13:18:07 -08:00
Gary Lowell
ff5ee98f1c build: Add RPM release string generated from git describe.
Fix for bug 3451.  Use the commit count and sha1 from git describe to
construct a release string for rpm packages.
2012-11-08 12:43:24 -08:00
Noah Watkins
1581db9bcb configure: fail when missing junit dependency
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2012-11-08 09:28:26 -08:00
Joe Buck
5dec9172d9 Moving test java files into a proper heirarchy. Moving the compilation
of tests classes from build.xml to Makefile and editing configure.ac to
look for the junit4 jar in the default location of /usr/share/java. It
is still possible to build and run tests from build.xml as well as
Makefile.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Noah Watkins <noahwatkins@gmail.com>
2012-11-08 09:27:49 -08:00
Samuel Just
6bbe7db79d configure.ac: add program_options header check
Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-10-31 10:27:33 -07:00
Noah Watkins
68e01649ff automake: setup autotools to build cephfs-java
Adds --enable-cephfs-java and --with-jdk to build
the libcephfs Java bindings and specify the default
JDK directory, respectively.

Also adds default JDK paths to avoid --with-jdk in
the common case. Currently setup for the default
provided by Debian's default-jdk package, but other
default search paths can easily be added.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2012-10-19 09:59:10 -07:00
Sage Weil
ad6840ce5c Merge branch 'wip-3301'
Reviewed-by: Sage Weil <sage@inktank.com>
2012-10-16 21:06:00 -07:00
Sam Lang
328bf48234 client: Add permissions checking to open
Users of the libcephfs api (fuse in particular)
don't check the mode against the open flags.  This
commit does the proper checks to grant/deny access
to the file.  The check_mode() function constructs
a requested mode based on the flags, and compares that
to the mode of the file.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-10-16 18:26:29 -07:00
Gary Lowell
d78ba6af94 Merge branch 'next' 2012-10-16 23:27:21 +00:00
Gary Lowell
2528b5ee10 v0.43 2012-10-16 17:42:36 +00:00
Gary Lowell
071fdc217a Makefile: Improve test for boost system library. 2012-10-15 14:14:35 -07:00
Gary Lowell
7ea734c472 Makefiles: Missing boost library should not be fatal. 2012-10-15 14:14:34 -07:00
Gary Lowell
3658157b60 Makefile: Updates to eliminates warnings, add test for boost system lib. 2012-10-15 14:14:34 -07:00
Tommi Virtanen
dd462ce38b configure.ac: Typo in human-readable description.
Signed-off-by: Tommi Virtanen <tv@inktank.com>
2012-10-09 13:38:45 -07:00
Gary Lowell
e48859474c v0.52 2012-09-27 16:26:11 +00:00
Sage Weil
c03ca95d23 v0.51 2012-08-25 15:58:39 -07:00
Sage Weil
a4428bd0e1 v0.50 2012-08-13 09:49:24 -07:00
Sage Weil
ca6265d0f4 v0.49 2012-07-23 11:28:08 -07:00
Sage Weil
c2b20ca742 v0.48argonaut 2012-07-02 16:06:01 -07:00
Sage Weil
a85a15fef4 Merge remote-tracking branch 'gh/stable' into next 2012-06-21 08:20:17 -07:00
Sage Weil
c467d9d1b2 v0.47.3 2012-06-20 10:57:41 -07:00
Sage Weil
dde85a207c CrushTester: allow build without boost stuff for chi^2 testing
With limited functionality.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-03 16:12:20 -07:00
Sage Weil
fbae60315d Merge branch 'stable' 2012-05-23 16:41:14 -07:00
Sage Weil
8bf9fde89b v0.47.2 2012-05-23 10:55:49 -07:00
Josh Durgin
0ae59eae3d Merge branch 'stable' 2012-05-22 12:54:09 -07:00
Sage Weil
f5a9404445 v0.47.1 2012-05-21 14:28:45 -07:00