ceph-disk: make initial journal files 0 bytes

The ceph-osd will resize journal files up and properly fallocate() them
so that the blocks are preallocated and (hopefully) contiguous.  We
don't need to do it here too, and getting fallocate() to work from
python is a pain in the butt.

Fixes: #5981
Signed-off-by: Sage Weil <sage@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>
OpTracker: provide a default implementation of TrackedOp::state_string

We're moving towards dynamically-allocated states instead of the static
ones this started with, so the whole bitmask-based thing doesn't make
much sense any more. Assume people won't use that and provide a default.

Signed-off-by: Greg Farnum <greg@inktank.com>
OpTracker: demand that a TrackedOp gets to own its Message for life.

Signed-off-by: Greg Farnum <greg@inktank.com>
OpTracker: get rid of TrackedOp::received_time for the Message

Signed-off-by: Greg Farnum <greg@inktank.com>
tools: Fix ceph_filestore_dump usage again

Signed-off-by: David Zafman <david.zafman@inktank.com>
osd: Add assert() on collection_getattr() failure instead of later decode crash

Signed-off-by: David Zafman <david.zafman@inktank.com>
common: Fix get_namespace() definition in hobject_t

Signed-off-by: David Zafman <david.zafman@inktank.com>
os: Fix typo in comment

Signed-off-by: David Zafman <david.zafman@inktank.com>
os: Code conformance of os/LFNIndex.cc

Signed-off-by: David Zafman <david.zafman@inktank.com>
os: Prior version bump should have updated this

Version available as argument, so use instead of constant

Caused by dab238b0fb76b76a8843f4e59319b0f0e4f966a2

Signed-off-by: David Zafman <david.zafman@inktank.com>