doc: update fs recommendations

More forceful about recommending XFS.  More warning about using btrfs in
production deployments.

Signed-off-by: Sage Weil <sage@inktank.com>
msg/Pipe: only randomize start seq #'s if MSG_AUTH feature is present

The kernel client expects seq #'s to start at 1 or else it is unhappy.
So, only randomize these values if the MSG_AUTH feature is present--that is
the only time it matters anyway.

Signed-off-by: Sage Weil <sage@inktank.com>
msg/Pipe: whitespace cleanup

Signed-off-by: Sage Weil <sage@inktank.com>
doc: Added syntax fixes to Peter's session authentication doc.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: fix typo in cinder upstart config name

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
osd: verify authorizers for heartbeat dispatcher

This was broken with the fixed messenger behavior with missing
verify_authorizer methods in 100fcca3cb54c97c4332328aad67d4b796f33ec2.

Signed-off-by: Sage Weil <sage@inktank.com>
msg/Pipe: fix seq # fix

02f6262f47f72178a78d410f4facab7bbc97b098 got this all wrong (though it
worked by accident).

Signed-off-by: Sage Weil <sage@inktank.com>
mon: separate pre- and post-fork init

Do most init pre-fork, then do the last little bit (start up messenger,
bootstrap) post-fork.

Signed-off-by: Sage Weil <sage@inktank.com>
msg/SimpleMessenger: start accepter in ready()

Start the accepter thread when the first dispatcher is ready.  This ensures
that there will be someone around to verify authorizers for incoming
connections, and means we have a bit less failure noise on the monitors
as a result.

Signed-off-by: Sage Weil <sage@inktank.com>
Mutex: Instrument Mutex with perfcouter for Lock() wait

Signed-off-by: Samuel Just <sam.just@inktank.com>
test/bench: small io benchmarker

Precreates objects and does writes to random offsets within
random objects.

Includes rados, filestore, and vanilla fs variants

Signed-off-by: Samuel Just <sam.just@inktank.com>
test/bench: add tp bench

Signed-off-by: Samuel Just <sam.just@inktank.com>
FileStore: next_finish is not used

Signed-off-by: Samuel Just <sam.just@inktank.com>
JournalingFileStore: pass -1 as the alignment if unimportant

Previously, data_align began at 0 and remained that way if no
transaction contained a large data segment.  This 0 was propagated
to prepare_single_write, which padded out most of a page to ensure
that the bl started with 0 alignment.  Passing -1 will ensure that
we don't prepad these small segments.

Signed-off-by: Samuel Just <sam.just@inktank.com>
FileStore: remove trigger_commit

This is no longer used.

Signed-off-by: Samuel Just <sam.just@inktank.com>
JournalingObjectStore: whitespace fix

Signed-off-by: Samuel Just <sam.just@inktank.com>
JournalingObjectStore: remove force_commit, no longer needed

Signed-off-by: Samuel Just <sam.just@inktank.com>
JournalingFileStore: create submit_manager to order op submission

Previously, we ensured op ordering by queueing for journal and
the op queue under the journal lock.  All that is required is
that obtaining an op sequence, queueing for journal, and
(for parallel) queueing for application to the fs are done
atomically.  To that end, submit_manager now handles op submission.

Signed-off-by: Samuel Just <sam.just@inktank.com>
JournalingFileStore: move apply/commit sequencing to apply_manager

syncing the filestore requires a stable commit point (i.e., all ops
up to applied_seq must have been applied).  Previously, we used
journal_lock to atomically block new applies while waiting for
the remaining ones to finish.  This creates unnecessary contention.
We now use apply_manager to manage that state atomically with its
own lock.

Signed-off-by: Samuel Just <sam.just@inktank.com>
perf_counters: add dec()

Signed-off-by: Samuel Just <sam.just@inktank.com>