doc: Created a new User Management doc to replace authentication.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Put architectural details of authentication in to architecture doc.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Restructured auth configuration reference.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Removed auth intro and auth docs and added user management to index.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Removed cephx guide. Replaced by user management.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Removed cephx intro. Moved details to user management, config, and architecture.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Added user management link to quick start.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
add calamari to the api/index section

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
doc: Added a few comments and links to other relevant docs.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Minor changes.

Removed arch-related comments.
Added links to relevant docs.
Moved limitations to user management.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Added links. Clarified namespace comments. Added limitations.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
PG: wait until we've build the missing set to discover_all_missing

Fixes: #9179
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
tools: use cout instead of cerr in journal tool

Aside from being a bit odd to begin with, using stderr
was causing tests to fail because the output was polluted
by log output which is also on stderr.

Fixes: 9281

Signed-off-by: John Spray <john.spray@redhat.com>
PG::init: clear rollback info for backfill as well

Otherwise, we won't remove the old rollback objects from a resurrected pg.  In
rare cases, this can cause us to get an EEXIST if we happen to reuse the same
rename id on the same object in a subsequent interval.

Fixes: #9293
Related to: 8346e10755027e982f26bab4642334fd91cc31aa
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
erasure-code: preload LRC plugin

Add LRC to the list of erasure code plugins preloaded by default.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
Merge pull request #2360 from ceph/wip-9281

tools: use cout instead of cerr in journal tool

Reviewed-by: Sage Weil <sage@redhat.com>
osd/ReplicatedPG: avoid dereferencing iterator at end()

The preceding loop could terminate with p == snapset.clones.end(), which
we assign to dnewest.  We can't dereference the iterator in that case.

For example:

 start_flush ffe627f3/foo/a/test-rados-api-plana05-22080-18/83 v430'42 uv130 blocking
  snapset b=[b,a]:[a,b]+head
 start_flush no older clones

prev_snapc will be 0, oi.snaps will be [a], p will end up at end(), get
assigned to dnewest, and we'll dereference.  It's only sometime harmful
though because we may still take the right (else) branch...

Fixes: #9294
Signed-off-by: Sage Weil <sage@redhat.com>
osd/ReplicatedPG: do not evict blocked objects

If the object is blocked, that means we are either still promoting it, or
we are in the process of doing a blocking flush.  In both cases, do not
evict it just yet.  For the promotion case in particular this can cause a
very long op delay because we'll have to restart the promotion, and this
can potentially loop indefinitely.

For the flush case, flushes are generally only blocking when the user
explicitly requests it.  In that case, we are not particularly concerned
that we may delay the objects eventual eviction as the user is probably
controlling that anyway (and even if they aren't, the agent will still
try this object again later).

Fixes: #9285
Reported-by: Wang, Zhiqiang <zhiqiang.wang@intel.com>
Signed-off-by: Sage Weil <sage@redhat.com>
common/LogEntry: fix warning on i386

common/LogEntry.cc: In member function 'void LogEntry::log_to_syslog(std::string, std::string)':
warning: common/LogEntry.cc:161:20: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t {aka long long unsigned int}' [-Wformat=]
msg.c_str());
^

Signed-off-by: Sage Weil <sage@redhat.com>
common/LogEntry: fix warning on x86_64

Signed-off-by: Sage Weil <sage@redhat.com>