mon/OSDMonitor: handle 'osd tier add ...' race/corner case

If you have two racing requests to add two different pools as a tier, the
committed checks will pass but they proposals will conflict.  Recheck the
pending pools for the same conditions and wait for a commit if they
occur.

Reported-by: Loic Dachary <loic@dachary.org>
Signed-off-by: Sage Weil <sage@inktank.com>
mon/OSDMonitor: add 'osd tier add-cache <pool> <size>' command

This is a friendlier interface for setting up a cache tier with some
reasonable defaults (defined via config options).  This will simplify
the user experience and documentation.

Signed-off-by: Sage Weil <sage@inktank.com>
mon/OSDMonitor: fix some whitespace

Signed-off-by: Sage Weil <sage@inktank.com>
mon/OSDMonitor: fix race in 'osd tier remove ...'

Signed-off-by: Sage Weil <sage@inktank.com>
Merge pull request #1358 from ceph/wip-2288

mds: check projected xattr when handling setxattr

Reviewed-by: Greg Farnum <greg@inktank.com>
Merge pull request #1335 from ceph/wip-tier-add

mon: prevent non-empty pools from being added as tiers

Reviewed-by: Greg Farnum <greg@inktank.com>
Merge pull request #1342 from ceph/wip-cache-add

mon: add 'osd tier add-cache ...' command (DNM until after wip-tier-add)

Reviewed-by: Loic Dachary <loic@dachary.org>
Merge pull request #1352 from dachary/wip-7578

common: -- support for env_to_vec

Reviewed-by: Sage Weil <sage@inktank.com>
mailmap: Mike Lundy affiliation

Signed-off-by: Loic Dachary <loic@dachary.org>
Merge remote-tracking branch 'brag/master' into firefly

Signed-off-by: Babu Shanmugam <anbu@enovance.com>
doc: erasure coded pool developer documentation

With a structure similar to doc/dev/cache-pool.rst

http://tracker.ceph.com/issues/7548 refs #7548

Signed-off-by: Loic Dachary <loic@dachary.org>
doc: update the operator create pool reference

Include erasure code information. A choice is made to display properties
that should be documented as part of the erasure code plugin
interface (erasure-code-k for instance). However, there only is one
plugin at the moment. Furthermore, erasure-code-k and erasure-code-m are
the two properties that the system administrator will want to tweak when
playing with erasure coded pools for the first time. It is probably
better to document them in a very visible place for this reason.

http://tracker.ceph.com/issues/7548 refs #7548

Signed-off-by: Loic Dachary <loic@dachary.org>
Merge pull request #1360 from enovance/wip-brag

Fixes for ceph-brag

Reviewed-by: Loic Dachary <loic@dachary.org>
Formatter::new_formatter(): pass const function parameter by reference

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
close file descriptor in error case

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
test_o_trunc.c: reduce scope of some variables

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
SyntheticClient::play_trace: reduce scope of local variable

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
ErasureCodePlugin.cc: reduce scope of local variable

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
test_o_trunc.c: fix indentation to kernel style (tabs, 8 spaces)

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
PG::generate_past_intervals: reduce scope of variable

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>