test/librados/cmd.cc: tolerate thrashing on pg_command tests

We may get ENXIO (osd down) or ENOENT (pg dne (yet) on the target osd) if
there is thrashing going on.

Fixes: #6122
Signed-off-by: Sage Weil <sage@inktank.com>
doc: Excised content from "Getting Started" and created Intro to Ceph.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Added Intro to Ceph to Index.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Updated for 3-node deployment and multiple Linux distributions.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Removed introductory material. Renamed the page.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Updated for 3-node deployment. Leaner discussion. More use cases.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Made sysvinit and service sections parallel to upstart for clarity.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Updated link to Storage Cluster Quick Start.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Updated link to Storage Cluster Quick Start.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Updated link to Storage Cluster Quick Start.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
osd: move pow2_hist_t out of osd_types and into include/

This has only been used for the OSD so far, but as with the rest
of the OpRequest stuff, it's actually pretty generic.

Signed-off-by: Greg Farnum <greg@inktank.com>
OpRequest: remove obsolete comment about ref-counting (use OpRequestRef!)

Signed-off-by: Greg Farnum <greg@inktank.com>
OpTracker: start making the OpTracker into a generic

We're starting by templating the create_request function and having
the OpTracker work in terms of TrackedOp[Ref]s intead of
OpRequest[Ref]s. This involves moving a bunch of stuff into the
base-class TrackedOp.

Signed-off-by: Greg Farnum <greg@inktank.com>
OpTracker: add an init_from_message() to the TrackedOp interface

This can be used for the concrete implementations to gather any
extra data out of the message and do whatever extra setup based
on that they want. The OpTracker will call this after doing all its
internal setup but before anybody else gets to see the TrackedOp.

Signed-off-by: Greg Farnum <greg@inktank.com>
OpTracker: move the OpTracker and OpHistory into common/TrackedOp.[h|cc]

Signed-off-by: Greg Farnum <greg@inktank.com>
OpTracker: remove the references to "osd" in config variables

We may want to have daemon-specific settings in the future, but that
will be a small interface change and in the mean time this keeps a clear
demarcation between OSD and OpTracker infrastructure.

Signed-off-by: Greg Farnum <greg@inktank.com>
OpTracker: move OpTracker pointer and some init code into TrackedOp

Clean up some member privacy issues while we're working on them.

Signed-off-by: Greg Farnum <greg@inktank.com>
osd: change how we work around an interface limitation.

If this had ever actually been triggered we would have hit an assert
in the OpRequest destructor that op->request is non-NULL.

Signed-off-by: Greg Farnum <greg@inktank.com>
OpTracker: include a destructor for the TrackedOp base class.

Our method of handling the OpRequest destructor is a little weird,
but we're about to get rid of the request member finagling.

Signed-off-by: Greg Farnum <greg@inktank.com>
osd: use TrackedOp::get_req() instead of direct access to the request.

Signed-off-by: Greg Farnum <greg@inktank.com>