rgw: call processor->handle_data() again if needed

Fixes: #8937

Following the fix to #8928 we end up accumulating pending data that
needs to be written. Beforehand it was working fine because we were
feeding it with the exact amount of bytes we were writing.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
rgw: fix crash in swift CORS preflight request

Fixes: #8586

This fixes error handling, in accordance with commit 6af5a537 that fixed
the same issue for the S3 case.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
add rocksdb support

Signed-off-by: xinxin shu <xinxin.shu@intel.com>
add rocksdb submodule
get a stable rocksdb (3.0)

Signed-off-by: xinxin shu <xinxin.shu@intel.com>
add --with-librocksdb-static configure options

with this options, ceph will build rocksdb from submodule

Signed-off-by: xinxin shu <xinxin.shu@intel.com>
rocksdb backend optimization

Signed-off-by: xinxin shu <xinxin.shu@intel.com>
erasure-code: create default profile if necessary

After an upgrade to firefly, the existing Ceph clusters do not have the
default erasure code profile. Although it may be created with

   ceph osd erasure-code-profile set default

it was not included in the release notes and is confusing for the
administrator.

The *osd pool create* and *osd crush rule create-erasure* commands are
modified to implicitly create the default erasure code profile if it is
not found.

In order to avoid code duplication, the default erasure code profile
code creation that happens when a new firefly ceph cluster is created is
encapsulated in the OSDMap::get_erasure_code_profile_default method.

Conversely, handling the pending change in OSDMonitor is not
encapsulated in a function but duplicated instead. If it was a function
the caller would need a switch to distinguish between the case when goto
wait is needed, or goto reply or proceed because nothing needs to be
done. It is unclear if having a function would lead to smaller or more
maintainable code.

http://tracker.ceph.com/issues/8601 Fixes: #8601

Backport: firefly
Signed-off-by: Loic Dachary <loic@dachary.org>
cls_rgw: fix object name of objects removed on object creation

Fixes: #8972
Backport: firefly, dumpling

Reported-by: Patrycja Szabłowska <szablowska.patrycja@gmail.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
mon: s/%%/%/

Signed-off-by: Sage Weil <sage@redhat.com>
test/cli-integration/rbd: fix trailing space

Newer versions of json.tool remove the trailing ' ' after the comma.  Add
it back in with sed so that the .t works on both old and new versions, and
so that we don't have to remove the trailing spaces from all of the test
cases.

Backport: firefly
Fixes: #8920
Signed-off-by: Sage Weil <sage@redhat.com>
atomic: fix read() on i386, clean up types

Among other things, fixes #8969

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
Merge pull request #2171 from ceph/wip-cli-integration

fix rbd cli-integratoin tests

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
mon/OSDMonitor: fix i386 floating point rounding error

This would round .123 to .122999 on i386; now it does not.

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
KeyValueStore: use generic KeyValueDB::create()

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Add superblock to KeyValueStore

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
FileStore: Add omap_backend to "<<" operator

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Merge pull request #2162 from ceph/wip-8586

rgw: fix crash in swift CORS preflight request

Reviewed-by: Sage Weil <sage@redhat.com>
Merge pull request #1990 from dachary/wip-erasure-code-profile-default

erasure-code: create default profile if necessary

Reviewed-by: Joao Eduardo Luis <jluis@redhat.com>
Merge pull request #2173 from ceph/wip-8969

fix i386 atomics

Reviewed-by: Greg Farnum <greg@inktank.com>