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>
Merge pull request #482 from dachary/wip-erasure-coding-doc

Links to newly created tracker items, typo, M+K convention
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>
rearrange the documentation to be inserted and maintained in master

Signed-off-by: Loic Dachary <loic@dachary.org>
osdc/ObjectCacher: match reads with their original rx buffers

Consider a sequence like:

 1- start read on 100~200
       100~200 state rx
 2- truncate to 200
       100~100 state rx
 3- start read on 200~200
       100~100 state rx
       200~200 state rx
 4- get 100~200 read result

Currently this makes us crash on

osdc/ObjectCacher.cc: 738: FAILED assert(bh->length() <= start+(loff_t)length-opos)

when processing the second 200~200 bufferhead (it is too big).  The
larger issue, though, is that we should not be looking at this data at
all; it has been truncated away.

Fix this by marking each rx buffer with the read request that is sent to
fill it, and only fill it from that read request.  Then the first reply
will fill the first 100~100 extend but not touch the other extent; the
second read will do that.

Signed-off-by: Sage Weil <sage@inktank.com>
osdc/ObjectCacher: do not merge rx buffers

We do not try to merge rx buffers currently.  Make that explicit and
documented in the code that it is not supported.  (Otherwise the
last_read_tid values will get lost and read results won't get applied
to the cache properly.)

Signed-off-by: Sage Weil <sage@inktank.com>
config_opts: add two ceph-rest-api-only variables for convenience

These aren't used by the C++ code at all, but in order for
rados_conf_get to find them, they need to be listed.  They're
consumed by ceph_rest_api.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Merge pull request #509 from dmick/wip-rest-conf

config_opts: add two ceph-rest-api-only variables for convenience

Reviewed-by: Sage Weil <sage@inktank.com>
auth-config-ref.rst: fix signature keys

Fix names of cephx signature keys.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
mon: make MonMap error message about unspecified monitors less specific.

The error message helpfully references the -m and -c CLI options for
specifying monitors, but this code can be invoked from non-core librados
client applications so that's unfortunately not kosher. Remove the
reference.

Fixes #5979.

Signed-off-by: Greg Farnum <greg@inktank.com>
Merge pull request #493 from dachary/wip-erasure-coding-doc

rearrange erasure code documents

Reviewed-by: Samuel Just <sam.just@inktank.com>
librados: synchronous commands should return on commit instead of ack

This is unlikely to be noticed by anybody, but it is a big change. Document
in the PendingReleaseNotes and bump up the librados minor version number
to 68.

Signed-off-by: Greg Farnum <greg@inktank.com>
Merge branch 'wip-erasure-coded-doc'