summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* common/buffer: slightly more useful crc caching with testwip-cache-crcSamuel Just2013-09-262-25/+58
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* buffer: lame attempt at caching crc valuesSage Weil2013-09-111-4/+47
| | | | | | This only works if the base value also matches, which it generally won't. Signed-off-by: Sage Weil <sage@inktank.com>
* include: add SpinlockSage Weil2013-09-112-0/+58
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* common: fix Mutex, Cond no-copy declarationsSage Weil2013-09-112-4/+4
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* buffer: uninline, constify crc32c()Sage Weil2013-09-092-9/+10
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* Merge pull request #569 from ceph/wip-osd-statDan Mick2013-09-092-3/+19
|\ | | | | osd: expose bytes used/avail via perf / asok
| * osd: expose bytes used/avail via perf / asokSage Weil2013-09-092-3/+19
| | | | | | | | | | | | | | This values are already sent to the monitor. Expose them via the admin socket too so collectd/diamond/whatever can pick them up. Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge pull request #581 from dachary/masterSage Weil2013-09-091-2/+2
|\ \ | | | | | | | | | | | | autoconf: use $(LIBOSD) $(LIBCOMMON) instead of libosd.a libcommon.la Reviewed-by: Sage Weil <sage@inktank.com>
| * | autoconf: use $(LIBOSD) $(LIBCOMMON) instead of libosd.a libcommon.laLoic Dachary2013-09-101-2/+2
| | | | | | | | | | | | | | | | | | hardcoded library names in unit test dependencies break compilation Signed-off-by: Loic Dachary <loic@dachary.org>
* | | doc: Syntax fix to suppress gitbuilder errors.John Wilkins2013-09-091-2/+2
| | | | | | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | doc: Removed mkcephfs reference.John Wilkins2013-09-096-7/+1
| | | | | | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | doc: Syntax fixes to suppress gitbuilder warnings.John Wilkins2013-09-091-0/+6
| | | | | | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | doc: Syntax fixes to suppress gitbuilder warnings.John Wilkins2013-09-091-1/+1
| | | | | | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | doc: Syntax fixes to suppress gitbuilder warnings.John Wilkins2013-09-091-15/+15
| | | | | | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | doc: Syntax fixes to suppress gitbuilder warnings.John Wilkins2013-09-091-27/+33
| | | | | | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | doc: Syntax fixes to suppress gitbuilder warnings.John Wilkins2013-09-091-5/+6
| | | | | | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | doc: Syntax fixes to suppress gitbuilder warnings.John Wilkins2013-09-091-36/+36
| | | | | | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | doc: Syntax fixes to remove gitbuilder errors.John Wilkins2013-09-091-123/+0
|/ / | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | Merge pull request #518 from dachary/wip-5878athanatos2013-09-099-0/+788
|\ \ | | | | | | | | | | | | erasure plugin mechanism and abstract API Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | ErasureCodePlugin: plugin registry tests and exampleLoic Dachary2013-09-093-0/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libec_example.la is a fully functional plugin based on ErasureCodeExample to test the ErasureCodePlugin abstract interface. It is dynamically loaded to test the ErasureCodePluginRegistry implementation. Although the plugin is built in the test directory, it will be installed. noinst_LTLIBRARIES won't build the shared library, only the static version which is not suitable for testing. http://tracker.ceph.com/issues/5878 refs #5878 Signed-off-by: Loic Dachary <loic@dachary.org>
| * | ErasureCodePlugin: plugin registryLoic Dachary2013-09-093-0/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A ErasureCodePluginRegistry singleton holds all erasure plugin objects derived from ErasureCodePlugin and dlopen(2) handles for the lifetime of the OSD and is cleaned up by the destructor. The registry has a single entry point ( method factory ) and should be used as follows: map<std::string,std::string> parameters; parameters["directory"] = "/usr/lib/ceph/erasure-code"; ErasureCodeInterfaceRef erasure_code; ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance(); instance.factory("jerasure", parameters, &erasure_code)); If the plugin requested ( "jerasure" in the example above ) is not found in the *plugins* data member, the load method is called and will: * dlopen(parameters["erasure-code-directory"] + "jerasure") * f = dlsym("__erasure_code_init") * f("jerasure") * check that it registered "jerasure" The plugin is expected to do something like instance.add(plugin_name, new ErasureCodePluginJerasure()); to register itself. The factory method is protected with a Mutex to avoid race conditions when using the same plugin from two threads. The erasure_codelib_LTLIBRARIES variable is added to the Makefile and the plugins are expected to add themselves and be installed in the $(libdir)/erasure-code http://tracker.ceph.com/issues/5878 refs #5878 Signed-off-by: Loic Dachary <loic@dachary.org>
| * | ErasureCodePlugin: plugin interfaceLoic Dachary2013-09-092-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When dynamically loaded, a plugin is expected to define int __erasure_code_init(char *plugin_name); When called, it is responsible for registering an ErasureCodePlugin derived object that provides a factory method from which the concrete implementation of the ErasureCodeInterface object can be generated: virtual int factory(const map<std::string,std::string> &parameters, ErasureCodeInterfaceRef *erasure_code) { *erasure_code = ErasureCodeInterfaceRef(new ErasureCodeExample(parameters)); return 0; } The plugin instance contains the library data member which is used to store the handle of the shared library. It is opaque to the plugin. http://tracker.ceph.com/issues/5878 refs #5878 Signed-off-by: Loic Dachary <loic@dachary.org>
| * | ErasureCode: example implementation : K=2 M=1Loic Dachary2013-09-093-0/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An erasure code implementation designed for tests. Although it is fully functional and could be used on actual data, it is mainly provided for testing purposes. It splits data in two, computes an XOR parity and can sustain the loss of one chunk. The constructor will usleep(3) for parameters["usleep"] microseconds so that the caller can create race conditions. http://tracker.ceph.com/issues/5878 refs #5878 Signed-off-by: Loic Dachary <loic@dachary.org>
| * | ErasureCode: abstract interfaceLoic Dachary2013-09-092-0/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The erasure coded pool relies on this abstract interface to encode and decode the chunks stored in the OSD. It has been designed to be generic enough to accomodate the libraries and algorithms that are most likely to be used. It does not claim to be universal. http://tracker.ceph.com/issues/5878 refs #5878 Signed-off-by: Loic Dachary <loic@dachary.org>
* | | Fix usage to include export and import --type optionsDavid Zafman2013-09-091-1/+1
|/ / | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
* | Merge pull request #579 from ceph/wip-doc-warn-fixSage Weil2013-09-091-1/+1
|\ \ | | | | | | make sure we use a version of sphinx that we can handle
| * | make sure we use a version of sphinx that we can handleAlfredo Deza2013-09-091-1/+1
| | | | | | | | | | | | Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
* | | doc: Syntax fixes to stop gitbuilder warnings.John Wilkins2013-09-091-4/+9
| | | | | | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | doc: Syntax fixes to stop gitbuilder warnings.John Wilkins2013-09-091-2/+3
| | | | | | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | doc: Syntax fixes to stop gitbuilder warnings.John Wilkins2013-09-091-11/+11
|/ / | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | Merge pull request #577 from roaldvanloon/wip-automakeSage Weil2013-09-0926-2224/+2424
|\ \ | | | | | | | | | | | | automake cleanup: implementing non-recursive make Reviewed-by: Sage Weil <sage@inktank.com>
| * | automake cleanup: implementing non-recursive makeRoald J. van Loon2013-09-0826-2224/+2424
| | | | | | | | | | | | | | | | | | | | | | | | - Enabling subdir objects - Created a Makefile-env.am with basic automake init - Created .am files per subdir, included from src/Makefile.am Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
* | | rados: fix typoSage Weil2013-09-081-1/+1
|/ / | | | | | | | | | | | | | | | | | | cct is a member of the ObjBencher parent that we are trying to initialize; need to pass in cct_ here. Broken in 5dd0a83f917cb73a9985c94b9b6c2309c66d0ce3. Fixes: #6256 Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge remote-tracking branch 'gh/next'Sage Weil2013-09-074-4/+2
|\ \
| * \ Merge pull request #576 from ceph/wip-6078-2Sage Weil2013-09-072-2/+0
| |\ \ | | | | | | | | | | | | | | | | rgw: fix get cors, delete cors Reviewed-by: Sage Weil <sage@inktank.com>
| | * | rgw: fix get cors, delete corsYehuda Sadeh2013-09-062-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove a couple of variables that overrode class member. Not really clear how it was working before, might have been a bad merge / rebase. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | | Merge pull request #571 from dalgaaf/fix-da-init-radosgwSage Weil2013-09-072-2/+2
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | init-radosgw*: fix status return value if radosgw isn't running Backport: dumpling Reviewed-by: Sage Weil <sage@inktank.com>
| | * | | init-radosgw*: fix status return value if radosgw isn't runningDanny Al-Gaaf2013-09-072-2/+2
| |/ / / | | | | | | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* | | | Merge pull request #575 from roaldvanloon/wip-automake-prepareSage Weil2013-09-0786-141/+285
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Wip automake prepare Reviewed-by: Sage Weil <sage@inktank.com>
| * | | | automake cleanup: renaming buildtestRoald J. van Loon2013-09-072-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous name could cause confusion (it's not only used to test build libcommon anymore). Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
| * | | | automake cleanup: moving rados tool to tools subdirRoald J. van Loon2013-09-076-2/+7
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
| * | | | automake cleanup: moving misc tools to tools subdirRoald J. van Loon2013-09-0712-11/+11
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
| * | | | automake cleanup: moving tests to test subdirRoald J. van Loon2013-09-079-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This are tests and should be in the src/test subdir. Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
| * | | | automake cleanup: moving code away from include to commonRoald J. van Loon2013-09-076-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Includes should only be includes. Moving C code to libcommon. Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
| * | | | automake cleanup: moving hobject from os to commonRoald J. van Loon2013-09-078-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This file is used by libcommon, so lets put it in src/common instead of src/os. Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
| * | | | automake cleanup: renamed inttypes.hRoald J. van Loon2013-09-0750-101/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - In "includes", inttypes.h was cluttering the system's one. This caused random build errors on some systems/in some conditions. Renaming it. - Add emergency defs of PRI*64 headers when int_types.h does not define them (which, unfortunately, can happen on some systems). Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
| * | | | automake cleanup: adding vta support to configureRoald J. van Loon2013-09-072-0/+76
|/ / / / | | | | | | | | | | | | Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
* | | | Merge pull request #572 from roaldvanloon/wip-fix-buildtestsSage Weil2013-09-071-5/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | fix: build tests need libcrc.la Reviewed-by: Sage Weil <sage@inktank.com>
| * | | | fix: build tests need libcrc.laRoald J. van Loon2013-09-071-5/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Build tests are failing because the need crc32c.cc's functions, so we need to link them against libcrc.la Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
* | | | Merge pull request #570 from roaldvanloon/wip-cleanup-globalsSage Weil2013-09-073-71/+70
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | cleanup: state_name in NamedState init list Reviewed-by: Sage Weil <sage@inktank.com>