rgw, radosgw-admin: bucket link uses bucket instance id now

Fixes: 7499
We need to link user to a specific bucket instance. This updates both
the radosgw-admin link command, and the RESTful admin api.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
osd: track per-pg epochs, min

Add some simple tracking so that we can quickly determine what the min
pg osdmap epoch is.

Signed-off-by: Sage Weil <sage@inktank.com>
osd: prevent pgs from getting too far ahead of the min pg epoch

Bound the range of PG epochs between the slowest and fastest pg
(epoch-wise) with 'osd map max advance'.  This value should be set to
something less than 'osd map cache size' so that the maps we are
processing will be in memory as many PGs advance forward in time in
loose synchrony.

This is part of the solution to #7576.

Signed-off-by: Sage Weil <sage@inktank.com>
osd: ignore MarkMeDown message if we aren't in PREPARING_TO_STOP state

If we aren't waiting for this, ignore it.

Signed-off-by: Sage Weil <sage@inktank.com>
osd: fix 'ack' to be 'request_ack' in MOSDMarkMeDown

This field was passed along but always set to false.  It did not seem to
indicate whether this was/wasn't an ack (the reply message kept the same
value) or whether an ack was requested (it was always false but we always
reply).

Change this by bumping the message encoding, renaming the field, and
making old messages that are decoded force request_ack to true.  Reply
messages will always have request_ack false (although that part doesn't
matter much since the fact that it is a reply is clear from context).

Signed-off-by: Sage Weil <sage@inktank.com>
mon/OSDMonitor: do not reply to MOSDMarkMeDown if ack is not requested

If a reply isn't requested, do not bother to send one.  Note that old
clients did not request an ack, but we will infer that they do from the
message encoding (see previous commit).

Signed-off-by: Sage Weil <sage@inktank.com>
sample.ceph.conf update:

 * corrected URLs.
 * added [client] section.
 * more options and descriptions.
 * filestore settings were moved under [osd].
 * cephx settings to reflect lack of support for authentication in RBD client.
 * many minor corrections and updates.

Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
Variable length array of std::strings (not legal in C++) changed to std::vector<std::string>

Signed-off-by: Daniel J. Hofmann <daniel@trvx.org>
doc: Added erasure coding and cache tiering notes. Special thanks to Loic Dachary.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Added sudo to setenforce. Restored merge artifact.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
doc: Fixed artifacts from merge.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
Revert "Fix installation into user home directory, broken by d3f0c0b"

This reverts commit 7539281037ce7a755ac8661ecb15aea32e5f79f6.

This breaks mount.fuse.ceph installation.
Merge pull request #1768 from daniel-j-h/code_quality

Variable length array of std::strings (not legal in C++) changed to std::vector<std::string>

Reviewed-by: Sage Weil <sage@inktank.com>
Merge pull request #1653 from ceph/wip-7499

rgw, radosgw-admin: bucket link uses bucket instance id now

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Merge pull request #1748 from onlyjob/docs

sample.ceph.conf update:

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Merge pull request #1601 from ceph/wip-7576

osd: prevent pg map epochs from lagging too far behind

Reviewed-by: Samuel Just <sam.just@inktank.com>
osd/ReplicatedPG: fix whiteouts for other cache mode

We were special casing WRITEBACK mode for handling whiteouts; this needs to
also include the FORWARD and READONLY modes.  To avoid having to list
specific cache modes, though, just check != NONE.

Fixes: #8296
Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
Merge pull request #1774 from ceph/wip-8296

osd/ReplicatedPG: fix whiteouts for other cache mode

Reviewed-by: Samuel Just <sam.just@inktank.com>
client: add debugging around traceless reply failures

Tracking down #5021

Signed-off-by: Sage Weil <sage@inktank.com>
client: leave NULL dentry in place on ENOENT during lookup

If we get a NULL lookup result, unlink the inode but leave the dentry
in place.

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