document adding dev key for custom Apache/FCGI install

following the docs will only get you the release key and the install of custom Apache/FCGI fails w/ key error
ReplicatedPG::make_writeable: fill in ssc on clone

ssc should always be filled in on live ObjectContexts.

Fixes: #7835
Signed-off-by: Samuel Just <sam.just@inktank.com>
ReplicatedPG:: s/_delete_head/_delete_oid, adjust head_exists iff is_head

Fixes: #7872
Signed-off-by: Samuel Just <sam.just@inktank.com>
test: Wait for tier removal before next test starts

Fixes: #7860

Signed-off-by: David Zafman <david.zafman@inktank.com>
ReplicatedPG: disable clone subsets for cache pools

To do this properly, we need to take appropriate read
locks on clone sources and handle evicted clones.

Fixes: #7874
Signed-off-by: Samuel Just <sam.just@inktank.com>
ReplicatedPG: include pending_attrs when reseting attrs in WRITEFULL

This is necessary for ops like:

2014-03-25 11:48:20.354168 7f0df0ff9700  1 -- 192.168.106.226:0/1016231
--> 192.168.106.226:6814/13647 -- osd_op(client.4198.0:153
default.4198.1_foo [create 0~0,delete,setxattr user.rgw.idtag
(15),writefull 0~3,setxattr user.rgw.manifest (407),setxattr
user.rgw.acl (133),setxattr user.rgw.content_type (25),setxattr
user.rgw.etag (33)] 3.ee3a09ea ondisk+write e49) v4 -- ?+0 0xd09830 con
0xcd74d0

Fixes: #7837
Signed-off-by: Samuel Just <sam.just@inktank.com>
osd: do not make pg_pool_t incompat when hit_sets are enabled

If we enable HitSet tracking, the OSD needs to know this, but clients do
not care.  Setting the compat version is too heavyweight as it locks out
older kernels (*any* currents, currently) who are unaffected by the new
fields.

Signed-off-by: Sage Weil <sage@inktank.com>
erasure-code: allow loading a plugin from factory()

The Mutex scope is restricted to only protect the load() method and not
the factory() method. This allows a plugin to load another plugin from
within the factory() method.

Reviewed-By: Christophe Courtaut <christophe.courtaut@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: gf-complete / jerasure modules updates

To avoid confusion, the jerasure v1 branch that contains commits pending
review upstream is named v2-ceph and the gf-complete v2 branch is named
v2-ceph.

Signed-off-by: Loic Dachary <loic@dachary.org>
autotools: intel cpu features detection

Rename SIMD to INTEL for clarity.

Instead of agregating all flags in INTEL_FLAGS, create individual flags
for each feature (INTEL_SSE2_FLAGS etc.) for finer control in the
makefiles.

Signed-off-by: Loic Dachary <loic@dachary.org>
arch: add SSE3, SSSE3, SSSE41 and PCLMUL intel features

And add a note about valgrind forcing a fake cpuid.

Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: SSE optimized jerasure plugins

The jerasure plugin is compiled with three sets of flags:

* jerasure_generic with no SSE optimization
* jerasure_sse3 with SSE2, SSE3 and SSSE3 optimizations
* jerasure_sse4 with SSE2, SSE3, SSSE3, SSE41, SSE42 and PCLMUL optimizations

The jerasure plugin loads the appropriate plugin depending on the CPU
features detected at runtime.

http://tracker.ceph.com/issues/7826 fixes #7826

Signed-off-by: Loic Dachary <loic@dachary.org>
osd: increase osd verbosity during functional tests

Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: test jerasure SSE optimized plugins selection

Test the selection of the plugin depending on the CPU features. The
prefix of the plugin is "jerasure" by default (jerasure_generic,
jerasure_sse3, jerasure_sse4) and can be modified with the
"jerasure-name" parameter. A test plugin is created for each
variant (test_jerasure_generic, test_jerasure_sse3, test_jerasure_sse4).
The flags set by ceph_probe are modified by the test to check if the
expected plugin suffix is appended.

Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: test encode/decode of SSE optimized jerasure plugins

If the machine running make check has the required CPU features
available, load the SSE optimized plugin and check that it can encode /
decode a simple payload. If the CPU features are not available, only
test the generic plugin and display an informative message about the
tests that were skipped.

Signed-off-by: Loic Dachary <loic@dachary.org>
Merge pull request #1540 from ceph/wip-7860

test: Wait for tier removal before next test starts

Reviewed-by: Sage Weil <sage@inktank.com>
rgw: use s->content_length instead of s->length

Fixes: #7876
Need to use the actual content length, not the pointer to the string.
This was probably working because there's correlation to when
content_length > 0 to whether s->length is not null.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Merge pull request #1534 from dachary/wip-sse-fix

erasure code sse optimized jerasure plugin

Reviewed-by: Sage Weil <sage@inktank.com>
Merge pull request #1544 from ceph/wip-7876

rgw: use s->content_length instead of s->length

Reviewed-by: Sage Weil <sage@inktank.com>
Merge pull request #1542 from onlyjob/debian

logrotate: do not rotate empty logs (2nd logrotate file)

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>