Adding new Wireshark dissector. This is loosely based on the original
dissector, it has been re-worked to bring into line with Wireshark
coding guidelines that aim to ensure portability. It currently only
decodes a handful of messages as test cases, it needs more work to make
it useful. See README.txt for a bit more background.
dev/osd_internals,src/osd: add erasure_coding.rst and PGBackend.h

Signed-off-by: Samuel Just <sam.just@inktank.com>
M+K means M data + K parity and implies M chunks necessary to recover

Signed-off-by: Loic Dachary <loic@dachary.org>
fix typo

Signed-off-by: Loic Dachary <loic@dachary.org>
Add links to backfill related tracker items.

Signed-off-by: Loic Dachary <loic@dachary.org>
Add links to recovery related tracker items.

Signed-off-by: Loic Dachary <loic@dachary.org>
Add links to peering related tracker items.

Signed-off-by: Loic Dachary <loic@dachary.org>
Add links to scrub related tracker items.

Signed-off-by: Loic Dachary <loic@dachary.org>
Add links to OSD internals related tracker items.

Signed-off-by: Loic Dachary <loic@dachary.org>
mon: Monitor: check caps considering command's requirements

Fixes: #5648

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
mon: Monitor: purge old permission checking format on handle_command()

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
mon: services: no longer needed to enforce caps on a per-service basis

We now perform all perm checks for commands on Monitor::handle_command().
Services no longer need to check them.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
mon: drop old _allowed_command()

Signed-off-by: Sage Weil <sage@inktank.com>
mon: AuthMonitor: change 'auth add' behaviour

If an entity already existed, 'auth add' would smash its key and caps
with whatever was on the supplied keyring file; if a keyring weren't
specified, we would simply generate a new key and destroy all existing
caps (unless caps were specified and happened to be different from the
already in-place caps).  This behaviour is obviously sketchy.

With this patch we now enforce the following behaviour:

- if entity does not exist in current state, check if we are about to
  create it (by checking the pending state); if so, wait for the new state
  to be committed and re-handle the command then, so we don't get bad
  results from pending request
- if the command reproduces the current state (same key, same caps), we
  return 0; else,
- if entity exists and supplied key OR caps are different, return -EINVAL
- else create a new entity.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
qa: workunits: mon: workunit to stress the monitor's caps

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
test: mon: moncap: add 'allow command foo with arg="bar.baz"' tests

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Merge pull request #482 from dachary/wip-erasure-coding-doc

Links to newly created tracker items, typo, M+K convention
RadosClient: shutdown monclient after dropping lock

Otherwise, the monclient shutdown may deadlock waiting
on a context trying to take the RadosClient lock.

Fixes: #5897
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
document the write / read path for erasure encoding

Explains how objects are stored and used in erasure coded pools. It is
the result of discussions that occured on the ceph-devel mailing list
around june 2013. The rationale behind each change can be found in the
archive of the mailing list. For instance, the coding of the chunk
number with the object or the decision to decode using any K chunks
instead of trying to fetch the data chunks when possible because it
would allow simple concatenation when systematic codes are used.

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

Signed-off-by: Loic Dachary <loic@dachary.org>
ant is missing from the list of packages to install

to build the documentation.

Signed-off-by: Loic Dachary <loic@dachary.org>