]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agoMerge pull request #584 from dachary/master
Sage Weil [Tue, 10 Sep 2013 16:17:25 +0000 (09:17 -0700)]
Merge pull request #584 from dachary/master

autoconf: use $(UNITTEST_CXXFLAGS) in tests

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #578 from dachary/wip-6113
Sage Weil [Tue, 10 Sep 2013 16:15:42 +0000 (09:15 -0700)]
Merge pull request #578 from dachary/wip-6113

mon: add key[=value] ... to osd pool create

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoautoconf: use $(UNITTEST_CXXFLAGS) in tests 584/head
Loic Dachary [Tue, 10 Sep 2013 15:00:08 +0000 (17:00 +0200)]
autoconf: use $(UNITTEST_CXXFLAGS) in tests

As suggested by Roald van Loon
https://github.com/ceph/ceph/pull/538/files#r6260751

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: add key[=value] ... to osd pool create 578/head
Loic Dachary [Mon, 9 Sep 2013 11:23:42 +0000 (13:23 +0200)]
mon: add key[=value] ... to osd pool create

With the introduction of the erasure code pool, arguments to be
interpreted depending on the pool type must be introduced.
For instance the erasure code pool loads a plugin at run time will
use easure-code-k=10 to split each object in 10.

The arguments are described as

  name=properties,type=CephString,n=N,req=false,goodchars=[A-Za-z0-9-_.=]

If key=value it is stored in the new properties data member of pg_pool_t
as properties[key] = value, otherwise the value is the empty string.

The pg_pool_t version is bumped to 10 and the encode/decode methods
modified to take the properties into account. The
generate_test_instances method creates a two entries map, one of which
is the empty string to cover the case when no value is specified.

http://tracker.ceph.com/issues/6113 refs #6113

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrushtool: do not dump core with non-unique bucket IDs
David Zafman [Mon, 9 Sep 2013 20:01:12 +0000 (13:01 -0700)]
crushtool: do not dump core with non-unique bucket IDs

Return -EEXIST on duplicate ID
BUG FIX: crush_add_bucket() mixes error returns and IDs
  Add optional argument to return generated ID

Fixes: #6246
Signed-off-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agodoc/release-notes: v0.67.3
Sage Weil [Tue, 10 Sep 2013 04:47:57 +0000 (21:47 -0700)]
doc/release-notes: v0.67.3

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #569 from ceph/wip-osd-stat
Dan Mick [Mon, 9 Sep 2013 23:42:06 +0000 (16:42 -0700)]
Merge pull request #569 from ceph/wip-osd-stat

osd: expose bytes used/avail via perf / asok

11 years agoosd: expose bytes used/avail via perf / asok 569/head
Sage Weil [Mon, 9 Sep 2013 23:36:22 +0000 (16:36 -0700)]
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>
11 years agoMerge pull request #581 from dachary/master
Sage Weil [Mon, 9 Sep 2013 22:39:35 +0000 (15:39 -0700)]
Merge pull request #581 from dachary/master

autoconf: use $(LIBOSD) $(LIBCOMMON) instead of libosd.a libcommon.la

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoautoconf: use $(LIBOSD) $(LIBCOMMON) instead of libosd.a libcommon.la 581/head
Loic Dachary [Mon, 9 Sep 2013 22:30:57 +0000 (00:30 +0200)]
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>
11 years agodoc: Syntax fix to suppress gitbuilder errors.
John Wilkins [Mon, 9 Sep 2013 22:30:19 +0000 (15:30 -0700)]
doc: Syntax fix to suppress gitbuilder errors.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Removed mkcephfs reference.
John Wilkins [Mon, 9 Sep 2013 22:29:56 +0000 (15:29 -0700)]
doc: Removed mkcephfs reference.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Syntax fixes to suppress gitbuilder warnings.
John Wilkins [Mon, 9 Sep 2013 22:27:57 +0000 (15:27 -0700)]
doc: Syntax fixes to suppress gitbuilder warnings.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Syntax fixes to suppress gitbuilder warnings.
John Wilkins [Mon, 9 Sep 2013 22:27:36 +0000 (15:27 -0700)]
doc: Syntax fixes to suppress gitbuilder warnings.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Syntax fixes to suppress gitbuilder warnings.
John Wilkins [Mon, 9 Sep 2013 22:27:12 +0000 (15:27 -0700)]
doc: Syntax fixes to suppress gitbuilder warnings.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Syntax fixes to suppress gitbuilder warnings.
John Wilkins [Mon, 9 Sep 2013 22:26:47 +0000 (15:26 -0700)]
doc: Syntax fixes to suppress gitbuilder warnings.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Syntax fixes to suppress gitbuilder warnings.
John Wilkins [Mon, 9 Sep 2013 22:23:24 +0000 (15:23 -0700)]
doc: Syntax fixes to suppress gitbuilder warnings.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Syntax fixes to suppress gitbuilder warnings.
John Wilkins [Mon, 9 Sep 2013 22:22:59 +0000 (15:22 -0700)]
doc: Syntax fixes to suppress gitbuilder warnings.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Syntax fixes to remove gitbuilder errors.
John Wilkins [Mon, 9 Sep 2013 22:22:08 +0000 (15:22 -0700)]
doc: Syntax fixes to remove gitbuilder errors.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoMerge pull request #518 from dachary/wip-5878
athanatos [Mon, 9 Sep 2013 21:54:39 +0000 (14:54 -0700)]
Merge pull request #518 from dachary/wip-5878

erasure plugin mechanism and abstract API

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoErasureCodePlugin: plugin registry tests and example 518/head
Loic Dachary [Wed, 28 Aug 2013 15:29:18 +0000 (17:29 +0200)]
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>
11 years agoErasureCodePlugin: plugin registry
Loic Dachary [Wed, 28 Aug 2013 13:57:54 +0000 (15:57 +0200)]
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>
11 years agoErasureCodePlugin: plugin interface
Loic Dachary [Wed, 28 Aug 2013 13:46:34 +0000 (15:46 +0200)]
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>
11 years agoErasureCode: example implementation : K=2 M=1
Loic Dachary [Mon, 19 Aug 2013 17:15:07 +0000 (19:15 +0200)]
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>
11 years agoFix usage to include export and import --type options
David Zafman [Mon, 9 Sep 2013 21:08:03 +0000 (14:08 -0700)]
Fix usage to include export and import --type options

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoErasureCode: abstract interface
Loic Dachary [Mon, 19 Aug 2013 16:56:56 +0000 (18:56 +0200)]
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>
11 years agoMerge pull request #579 from ceph/wip-doc-warn-fix
Sage Weil [Mon, 9 Sep 2013 18:34:08 +0000 (11:34 -0700)]
Merge pull request #579 from ceph/wip-doc-warn-fix

make sure we use a version of sphinx that we can handle

11 years agodoc: Syntax fixes to stop gitbuilder warnings.
John Wilkins [Mon, 9 Sep 2013 18:19:59 +0000 (11:19 -0700)]
doc: Syntax fixes to stop gitbuilder warnings.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Syntax fixes to stop gitbuilder warnings.
John Wilkins [Mon, 9 Sep 2013 18:19:21 +0000 (11:19 -0700)]
doc: Syntax fixes to stop gitbuilder warnings.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Syntax fixes to stop gitbuilder warnings.
John Wilkins [Mon, 9 Sep 2013 18:19:04 +0000 (11:19 -0700)]
doc: Syntax fixes to stop gitbuilder warnings.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agomake sure we use a version of sphinx that we can handle 579/head
Alfredo Deza [Mon, 9 Sep 2013 18:00:59 +0000 (14:00 -0400)]
make sure we use a version of sphinx that we can handle

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
11 years agoMerge pull request #577 from roaldvanloon/wip-automake
Sage Weil [Mon, 9 Sep 2013 16:02:59 +0000 (09:02 -0700)]
Merge pull request #577 from roaldvanloon/wip-automake

automake cleanup: implementing non-recursive make

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agorados: fix typo
Sage Weil [Mon, 9 Sep 2013 04:40:33 +0000 (21:40 -0700)]
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 5dd0a83f917cb73a9985c94b9b6c2309c66d0ce3.

Fixes: #6256
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoautomake cleanup: implementing non-recursive make 577/head
Roald J. van Loon [Tue, 27 Aug 2013 09:08:37 +0000 (11:08 +0200)]
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>
11 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Sat, 7 Sep 2013 21:11:00 +0000 (14:11 -0700)]
Merge remote-tracking branch 'gh/next'

11 years agoMerge pull request #575 from roaldvanloon/wip-automake-prepare
Sage Weil [Sat, 7 Sep 2013 21:10:27 +0000 (14:10 -0700)]
Merge pull request #575 from roaldvanloon/wip-automake-prepare

Wip automake prepare

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #576 from ceph/wip-6078-2
Sage Weil [Sat, 7 Sep 2013 21:09:23 +0000 (14:09 -0700)]
Merge pull request #576 from ceph/wip-6078-2

rgw: fix get cors, delete cors

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoautomake cleanup: renaming buildtest 575/head
Roald J. van Loon [Sat, 7 Sep 2013 14:37:10 +0000 (16:37 +0200)]
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>
11 years agoautomake cleanup: moving rados tool to tools subdir
Roald J. van Loon [Sat, 7 Sep 2013 13:36:07 +0000 (15:36 +0200)]
automake cleanup: moving rados tool to tools subdir

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
11 years agoautomake cleanup: moving misc tools to tools subdir
Roald J. van Loon [Sat, 7 Sep 2013 13:33:10 +0000 (15:33 +0200)]
automake cleanup: moving misc tools to tools subdir

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
11 years agoautomake cleanup: moving tests to test subdir
Roald J. van Loon [Sat, 7 Sep 2013 13:27:33 +0000 (15:27 +0200)]
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>
11 years agoautomake cleanup: moving code away from include to common
Roald J. van Loon [Sat, 7 Sep 2013 13:24:00 +0000 (15:24 +0200)]
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>
11 years agoautomake cleanup: moving hobject from os to common
Roald J. van Loon [Sat, 7 Sep 2013 13:16:27 +0000 (15:16 +0200)]
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>
11 years agoautomake cleanup: renamed inttypes.h
Roald J. van Loon [Sat, 7 Sep 2013 12:07:52 +0000 (14:07 +0200)]
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>
11 years agoautomake cleanup: adding vta support to configure
Roald J. van Loon [Sat, 7 Sep 2013 11:14:05 +0000 (13:14 +0200)]
automake cleanup: adding vta support to configure

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
11 years agoMerge pull request #572 from roaldvanloon/wip-fix-buildtests
Sage Weil [Sat, 7 Sep 2013 20:31:29 +0000 (13:31 -0700)]
Merge pull request #572 from roaldvanloon/wip-fix-buildtests

fix: build tests need libcrc.la

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agofix: build tests need libcrc.la 572/head
Roald J. van Loon [Sat, 7 Sep 2013 17:25:17 +0000 (19:25 +0200)]
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>
11 years agoMerge pull request #570 from roaldvanloon/wip-cleanup-globals
Sage Weil [Sat, 7 Sep 2013 15:45:02 +0000 (08:45 -0700)]
Merge pull request #570 from roaldvanloon/wip-cleanup-globals

cleanup: state_name in NamedState init list

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #571 from dalgaaf/fix-da-init-radosgw
Sage Weil [Sat, 7 Sep 2013 15:42:59 +0000 (08:42 -0700)]
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>
11 years agoinit-radosgw*: fix status return value if radosgw isn't running 571/head
Danny Al-Gaaf [Sat, 7 Sep 2013 09:30:15 +0000 (11:30 +0200)]
init-radosgw*: fix status return value if radosgw isn't running

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agocleanup: state_name in NamedState init list 570/head
Roald J. van Loon [Sat, 7 Sep 2013 09:15:00 +0000 (11:15 +0200)]
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>
11 years agorgw: fix get cors, delete cors 576/head
Yehuda Sadeh [Sat, 7 Sep 2013 05:33:38 +0000 (22:33 -0700)]
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>
11 years agoMerge pull request #568 from roaldvanloon/wip-cleanup-globals
Sage Weil [Fri, 6 Sep 2013 21:02:03 +0000 (14:02 -0700)]
Merge pull request #568 from roaldvanloon/wip-cleanup-globals

Wip cleanup globals

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Fri, 6 Sep 2013 16:50:41 +0000 (09:50 -0700)]
Merge remote-tracking branch 'gh/next'

11 years agocommon/crc32c_intel_fast: avoid reading partial trailing word
Sage Weil [Thu, 5 Sep 2013 04:29:11 +0000 (21:29 -0700)]
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>
11 years agocleanup: passing context to NamedState for ceph_clock 568/head
Roald J. van Loon [Fri, 6 Sep 2013 08:33:19 +0000 (10:33 +0200)]
cleanup: passing context to NamedState for ceph_clock

This makes the constructor call on the subclasses explicit, and passes
the cct to the NamedState constructor. This cct is used by ceph_clock
to set enter_time.

Removes the last reference to g_ceph_context from libosd.

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
11 years agocleanup: globals from libosd
Roald J. van Loon [Fri, 6 Sep 2013 08:11:08 +0000 (10:11 +0200)]
cleanup: globals from libosd

There are some new globals introduced in libosd lately. This patch
cleans them.

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
11 years agoMerge pull request #567 from roaldvanloon/wip-cleanup-globals
Sage Weil [Thu, 5 Sep 2013 20:29:10 +0000 (13:29 -0700)]
Merge pull request #567 from roaldvanloon/wip-cleanup-globals

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agocleanup: reduced number of pointer indirection in osd 567/head
Roald J. van Loon [Sat, 31 Aug 2013 21:10:14 +0000 (23:10 +0200)]
cleanup: reduced number of pointer indirection in osd

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
11 years agocleanup: removing globals from common/obj_bencher
Roald van Loon [Wed, 28 Aug 2013 14:56:23 +0000 (16:56 +0200)]
cleanup: removing globals from common/obj_bencher

This file is in common/ but cant be included in libcommon.la because of
this reference. Removing it, making the binary calling it to pass the
correct cephcontext (rados, rest-bench).

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
11 years agocleanup: removing refs to globals from libosd
Roald van Loon [Wed, 28 Aug 2013 12:02:47 +0000 (14:02 +0200)]
cleanup: removing refs to globals from libosd

Removed almost all references to globals, apart from two;

- In OSD.cc: reference to g_lockdep
- In PG.h: NamedState uses ceph_clock_now(g_ceph_context)

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
11 years agocleanup: removed last references to globals from client
Roald van Loon [Wed, 28 Aug 2013 10:11:08 +0000 (12:11 +0200)]
cleanup: removed last references to globals from client

- There were some refs in SyntheticClient to g_(ceph_context|conf), I
  replaced them with client->cct and client->cct->_conf.
- There were some refs in fuse_ll to g_conf, also replaced them with
  client->cct or cfuse->client->cct where applicable.

This makes everything in src/client completely independent from globals.

Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
11 years agoMerge pull request #555 from dachary/master
Sage Weil [Thu, 5 Sep 2013 15:51:21 +0000 (08:51 -0700)]
Merge pull request #555 from dachary/master

minor documentation fixes

11 years agoosd/ReplicatedPG: set reply versions for pg ops (PGLS)
Sage Weil [Wed, 4 Sep 2013 05:41:17 +0000 (22:41 -0700)]
osd/ReplicatedPG: set reply versions for pg ops (PGLS)

Returning the current version for the pgid and last_user_version makes
some sense here.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit b05f7ea5199fc190a3be887fac4d74417461e1ce)

11 years agoosd/ReplicatedPG: set reply versions on dup op ACK
Sage Weil [Wed, 4 Sep 2013 05:40:42 +0000 (22:40 -0700)]
osd/ReplicatedPG: set reply versions on dup op ACK

All other MOSDOpReply creators do this, with the exception of the pg
op.

Fixes: #6222
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 5148aac73d50593217455619bef95b8e1b296e10)

11 years agorgw: flush pending data when completing multipart part upload
Yehuda Sadeh [Fri, 23 Aug 2013 22:39:20 +0000 (15:39 -0700)]
rgw: flush pending data when completing multipart part upload

Fixes: #6111
Backport: dumpling
When completing the part upload we need to flush any data that we
aggregated and didn't flush yet. With earlier code didn't have to deal
with it as for multipart upload we didn't have any pending data.
What we do now is we call the regular atomic data completion
function that takes care of it.

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agolibrados: make note of which calls steal the bufferlist contents
Sage Weil [Wed, 4 Sep 2013 23:39:34 +0000 (16:39 -0700)]
librados: make note of which calls steal the bufferlist contents

This is an unfortunate feature of the API, but it can't be changed without
potentially breaking users.

Fixes: #5989
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agorgw: check object name after rebuilding it in S3 POST
Yehuda Sadeh [Tue, 27 Aug 2013 02:46:43 +0000 (19:46 -0700)]
rgw: check object name after rebuilding it in S3 POST

Fixes: #6088
Backport: bobtail, cuttlefish, dumpling

When posting an object it is possible to provide a key
name that refers to the original filename, however we
need to verify that in the end we don't end up with an
empty object name.

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoMerge branch 'wip-6078' into next
Yehuda Sadeh [Wed, 4 Sep 2013 23:18:38 +0000 (16:18 -0700)]
Merge branch 'wip-6078' into next

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agorgw: fix certain return status cases in CORS
Yehuda Sadeh [Thu, 29 Aug 2013 04:25:20 +0000 (21:25 -0700)]
rgw: fix certain return status cases in CORS

Change return values in certain cases, reorder
checks, etc.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: add COPY method to be handled by CORS
Yehuda Sadeh [Thu, 29 Aug 2013 04:24:36 +0000 (21:24 -0700)]
rgw: add COPY method to be handled by CORS

Was missing this http method.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: fix CORS rule check
Yehuda Sadeh [Wed, 28 Aug 2013 02:38:45 +0000 (19:38 -0700)]
rgw: fix CORS rule check

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: don't handle CORS if rule not found (is NULL)
Yehuda Sadeh [Wed, 28 Aug 2013 02:38:18 +0000 (19:38 -0700)]
rgw: don't handle CORS if rule not found (is NULL)

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: tie CORS header response to all relevant operations
Yehuda Sadeh [Thu, 22 Aug 2013 20:38:55 +0000 (13:38 -0700)]
rgw: tie CORS header response to all relevant operations

Have the CORS responses on all relevant operations. Also add headers
on failure cases.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: add a generic CORS response handling
Yehuda Sadeh [Thu, 22 Aug 2013 17:00:53 +0000 (10:00 -0700)]
rgw: add a generic CORS response handling

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: OPTIONS request doesn't need to read object info
Yehuda Sadeh [Thu, 22 Aug 2013 00:22:46 +0000 (17:22 -0700)]
rgw: OPTIONS request doesn't need to read object info

This is a bucket-only operation, so we shouldn't look at the
object. Object may not exist and we might respond with Not
Exists response which is not what we want.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: remove use of s->bucket_cors
Yehuda Sadeh [Wed, 21 Aug 2013 21:43:28 +0000 (14:43 -0700)]
rgw: remove use of s->bucket_cors

Some old code still tried to use s->bucket_cors, which was
abandoned in a cleanup work.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agocommon: unit test for crc32c
Sage Weil [Wed, 4 Sep 2013 00:59:30 +0000 (17:59 -0700)]
common: unit test for crc32c

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
11 years agocommon/crc32c_intel_fast: fix compile-time #ifdef
Sage Weil [Wed, 4 Sep 2013 20:14:14 +0000 (13:14 -0700)]
common/crc32c_intel_fast: fix compile-time #ifdef

This wasn't getting built in!

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
11 years agoarch: add NEON cpu feature detection
Sage Weil [Tue, 3 Sep 2013 15:38:31 +0000 (08:38 -0700)]
arch: add NEON cpu feature detection

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
11 years agodoc: Updated usage for --infile syntax. Added zone name for zone syntax.
John Wilkins [Wed, 4 Sep 2013 22:37:14 +0000 (15:37 -0700)]
doc: Updated usage for --infile syntax. Added zone name for zone syntax.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agomon/OSDMonitor: fix POOL_OP_DELETE_SNAP early return
Sage Weil [Wed, 4 Sep 2013 21:42:45 +0000 (14:42 -0700)]
mon/OSDMonitor: fix POOL_OP_DELETE_SNAP early return

Cut&paste goof in 0e85074402cd02b292daadcb5b8e73ac1207d571.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agodoc: Organized into sections. Added zone/region and pool details.
John Wilkins [Wed, 4 Sep 2013 20:28:34 +0000 (13:28 -0700)]
doc: Organized into sections. Added zone/region and pool details.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc/release-notes: v0.68
Sage Weil [Wed, 4 Sep 2013 18:25:56 +0000 (11:25 -0700)]
doc/release-notes: v0.68

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge remote-tracking branch 'gh/wip-6047'
Sage Weil [Wed, 4 Sep 2013 17:43:04 +0000 (10:43 -0700)]
Merge remote-tracking branch 'gh/wip-6047'

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: set reply versions for pg ops (PGLS)
Sage Weil [Wed, 4 Sep 2013 05:41:17 +0000 (22:41 -0700)]
osd/ReplicatedPG: set reply versions for pg ops (PGLS)

Returning the current version for the pgid and last_user_version makes
some sense here.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoosd/ReplicatedPG: set reply versions on dup op ACK
Sage Weil [Wed, 4 Sep 2013 05:40:42 +0000 (22:40 -0700)]
osd/ReplicatedPG: set reply versions on dup op ACK

All other MOSDOpReply creators do this, with the exception of the pg
op.

Fixes: #6222
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agodoc: remove 'Unexpected indentation' from versions doc.
Greg Farnum [Wed, 4 Sep 2013 17:10:03 +0000 (10:10 -0700)]
doc: remove 'Unexpected indentation' from versions doc.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #564 from ljagiello/swift_doc_fix
Sage Weil [Wed, 4 Sep 2013 16:28:58 +0000 (09:28 -0700)]
Merge pull request #564 from ljagiello/swift_doc_fix

Correct syntax for generate swift key

Signed-off-by: Lukasz Jagiello <jagiello.lukasz@gmail.com>
11 years agoCorrect syntax for generate swift key 564/head
Lukasz Jagiello [Wed, 4 Sep 2013 14:33:57 +0000 (16:33 +0200)]
Correct syntax for generate swift key

11 years agomon: fix typo and remove redundant sentence 555/head
Loic Dachary [Wed, 4 Sep 2013 10:31:44 +0000 (12:31 +0200)]
mon: fix typo and remove redundant sentence

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: fix typo in comment
Loic Dachary [Sat, 31 Aug 2013 21:35:18 +0000 (23:35 +0200)]
mon: fix typo in comment

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agodoc: erasure code ghobject is made of gen_t + shard_t
Loic Dachary [Wed, 28 Aug 2013 21:04:26 +0000 (23:04 +0200)]
doc: erasure code ghobject is made of gen_t + shard_t

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge branch 'next'
Gary Lowell [Wed, 4 Sep 2013 08:37:41 +0000 (01:37 -0700)]
Merge branch 'next'

11 years agov0.68 v0.68
Gary Lowell [Tue, 3 Sep 2013 23:10:31 +0000 (16:10 -0700)]
v0.68

11 years agoMerge branch 'wip-copyfrom'
Sage Weil [Tue, 3 Sep 2013 23:00:28 +0000 (16:00 -0700)]
Merge branch 'wip-copyfrom'

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agodoc: Fix repo URL for Ceph cloning (dev/generatedocs)
Dan Mick [Tue, 3 Sep 2013 22:56:53 +0000 (15:56 -0700)]
doc: Fix repo URL for Ceph cloning (dev/generatedocs)

Signed-off-by: Dan Mick <dan.mick@inktank.com>
11 years agoceph_test_rados: test COPY_FROM 563/head
Sage Weil [Tue, 3 Sep 2013 20:51:31 +0000 (13:51 -0700)]
ceph_test_rados: test COPY_FROM

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: initial COPY_FROM (not viable for large objects)
Sage Weil [Wed, 28 Aug 2013 22:04:16 +0000 (15:04 -0700)]
osd: initial COPY_FROM (not viable for large objects)

Initial pass at COPY_FROM implementation.  This uses COPY_GET to read an
object from another OSD and write it locally.  It chunks the read but
accumulates it all in-memory and commits it at once, so it is only suitable
for smaller objects.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoobjecter, librados: add COPY_FROM operation
Sage Weil [Mon, 26 Aug 2013 23:24:16 +0000 (16:24 -0700)]
objecter, librados: add COPY_FROM operation

This operation will copy an entire object (data, attrs, omap)
atomically.  If the src_version does not match the source object, or
the source object is updated while the copy is in progress, we will
fail with a suitable error code.  By atomic we mean that it will either
successfully copy the entire object in its entirety or it will fail (and
require no cleanup).

Add to C++ librados API only for now.

Signed-off-by: Sage Weil <sage@inktank.com>
Conflicts:

src/include/ceph_strings.cc
src/include/rados.h
src/osd/osd_types.cc