Commit Graph

28615 Commits

Author SHA1 Message Date
Sage Weil
bde2772b93 doc/release-notes: v0.67.3
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-09 21:47:57 -07:00
Dan Mick
7281354f72 Merge pull request #569 from ceph/wip-osd-stat
osd: expose bytes used/avail via perf / asok
2013-09-09 16:42:06 -07:00
Sage Weil
deea63f7a8 osd: expose bytes used/avail via perf / asok
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>
2013-09-09 16:36:22 -07:00
Sage Weil
04120360e3 Merge pull request #581 from dachary/master
autoconf: use $(LIBOSD) $(LIBCOMMON) instead of libosd.a libcommon.la

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-09 15:39:35 -07:00
Loic Dachary
132e403938 autoconf: use $(LIBOSD) $(LIBCOMMON) instead of libosd.a libcommon.la
hardcoded library names in unit test dependencies break compilation

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-10 00:30:57 +02:00
John Wilkins
4c5b3c7bee doc: Syntax fix to suppress gitbuilder errors.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-09 15:30:19 -07:00
John Wilkins
8bf858f2f2 doc: Removed mkcephfs reference.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-09 15:29:56 -07:00
John Wilkins
494aff6b52 doc: Syntax fixes to suppress gitbuilder warnings.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-09 15:27:57 -07:00
John Wilkins
95c0c6c915 doc: Syntax fixes to suppress gitbuilder warnings.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-09 15:27:36 -07:00
John Wilkins
1e54d835cc doc: Syntax fixes to suppress gitbuilder warnings.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-09 15:27:12 -07:00
John Wilkins
68659a6563 doc: Syntax fixes to suppress gitbuilder warnings.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-09 15:26:47 -07:00
John Wilkins
1bb722550f doc: Syntax fixes to suppress gitbuilder warnings.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-09 15:23:24 -07:00
John Wilkins
a6a714064e doc: Syntax fixes to suppress gitbuilder warnings.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-09 15:22:59 -07:00
John Wilkins
ac609a4fe2 doc: Syntax fixes to remove gitbuilder errors.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-09 15:22:08 -07:00
athanatos
07ff0215e2 Merge pull request #518 from dachary/wip-5878
erasure plugin mechanism and abstract API

Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-09-09 14:54:39 -07:00
Loic Dachary
392179478e ErasureCodePlugin: plugin registry tests and example
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>
2013-09-09 23:34:12 +02:00
Loic Dachary
916901f913 ErasureCodePlugin: plugin registry
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>
2013-09-09 23:32:47 +02:00
Loic Dachary
b61369c803 ErasureCodePlugin: plugin interface
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>
2013-09-09 23:28:37 +02:00
Loic Dachary
640f2f213f ErasureCode: example implementation : K=2 M=1
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>
2013-09-09 23:26:42 +02:00
David Zafman
95d61c1a86 Fix usage to include export and import --type options
Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-09-09 14:10:13 -07:00
Loic Dachary
dde21bdfeb ErasureCode: abstract interface
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>
2013-09-09 21:23:17 +02:00
Sage Weil
f3d507e05d Merge pull request #579 from ceph/wip-doc-warn-fix
make sure we use a version of sphinx that we can handle
2013-09-09 11:34:08 -07:00
John Wilkins
ff9beb2cf5 doc: Syntax fixes to stop gitbuilder warnings.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-09 11:19:59 -07:00
John Wilkins
9c0970168b doc: Syntax fixes to stop gitbuilder warnings.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-09 11:19:21 -07:00
John Wilkins
5900b43a85 doc: Syntax fixes to stop gitbuilder warnings.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-09 11:19:04 -07:00
Alfredo Deza
99c42e13eb make sure we use a version of sphinx that we can handle
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
2013-09-09 14:00:59 -04:00
Sage Weil
583ffaf47a Merge pull request #577 from roaldvanloon/wip-automake
automake cleanup: implementing non-recursive make

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-09 09:02:59 -07:00
Sage Weil
726fe73d0d rados: fix typo
cct is a member of the ObjBencher parent that we are trying to
initialize; need to pass in cct_ here.

Broken in 5dd0a83f91.

Fixes: #6256
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-08 21:40:33 -07:00
Roald J. van Loon
6949d221ad automake cleanup: implementing non-recursive make
- 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>
2013-09-08 00:11:09 +02:00
Sage Weil
b2caa799d6 Merge remote-tracking branch 'gh/next' 2013-09-07 14:11:00 -07:00
Sage Weil
49dfb6cedf Merge pull request #575 from roaldvanloon/wip-automake-prepare
Wip automake prepare

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-07 14:10:27 -07:00
Sage Weil
bc552647d4 Merge pull request #576 from ceph/wip-6078-2
rgw: fix get cors, delete cors

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-07 14:09:23 -07:00
Roald J. van Loon
99c6be2fcf automake cleanup: renaming buildtest
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>
2013-09-07 22:44:12 +02:00
Roald J. van Loon
417f1f2a9d automake cleanup: moving rados tool to tools subdir
Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
2013-09-07 22:41:10 +02:00
Roald J. van Loon
3daf6ea96d automake cleanup: moving misc tools to tools subdir
Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
2013-09-07 22:41:10 +02:00
Roald J. van Loon
0b267b3038 automake cleanup: moving tests to test subdir
This are tests and should be in the src/test subdir.

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
2013-09-07 22:41:10 +02:00
Roald J. van Loon
bf6341fd88 automake cleanup: moving code away from include to common
Includes should only be includes. Moving C code to libcommon.

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
2013-09-07 22:41:10 +02:00
Roald J. van Loon
bb312b689a automake cleanup: moving hobject from os to common
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>
2013-09-07 22:41:10 +02:00
Roald J. van Loon
09b42c033f automake cleanup: renamed inttypes.h
- 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>
2013-09-07 22:41:10 +02: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
624e084ac0 Merge pull request #572 from roaldvanloon/wip-fix-buildtests
fix: build tests need libcrc.la

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-07 13:31:29 -07:00
Roald J. van Loon
c17d134937 fix: build tests need libcrc.la
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>
2013-09-07 19:25:17 +02:00
Sage Weil
13e42447f4 Merge pull request #570 from roaldvanloon/wip-cleanup-globals
cleanup: state_name in NamedState init list

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-07 08:45:02 -07:00
Sage Weil
d5a85d9270 Merge pull request #571 from dalgaaf/fix-da-init-radosgw
init-radosgw*: fix status return value if radosgw isn't running

Backport: dumpling
Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-07 08:42:59 -07:00
Danny Al-Gaaf
b5137baf65 init-radosgw*: fix status return value if radosgw isn't running
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-09-07 11:30:15 +02:00
Roald J. van Loon
55a527142c cleanup: state_name in NamedState init list
Added const char *state_name to the NamedState initializer list. This
correctly enforces a state name.

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
2013-09-07 11:15:00 +02:00
Yehuda Sadeh
13872785ae rgw: fix get cors, delete cors
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>
2013-09-06 22:33:38 -07:00
Sage Weil
712b7a957d Merge pull request #568 from roaldvanloon/wip-cleanup-globals
Wip cleanup globals

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-06 14:02:03 -07:00
Sage Weil
be889fa956 Merge remote-tracking branch 'gh/next' 2013-09-06 09:50:41 -07:00
Sage Weil
39c89dcfed common/crc32c_intel_fast: avoid reading partial trailing word
The optimized intel code reads in word-sized chunks, knowing that the
allocator will only hand out memory in word-sized increments.   This makes
valgrind unhappy.  Whitelisting doesn't work because for some reason there
is no caller context (probably because of some interaction with yasm?).

Instead, just use the baseline code for the last few bytes.  This should
not be significant.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-09-06 09:31:59 -07:00