Commit Graph

251 Commits

Author SHA1 Message Date
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