Change CrushWrapper::crush to private

Currently in CrushWrapper, the member "struct crush_map *crush"  is a public member,
so people can break the encapsulation and manipulate directly to the crush structure.

This is not a good practice for encapsulation and will lead to inconsistent if code
mix use the CrushWrapper API and crush C API.A simple example could be:
1.some code use crush_add_rule(C-API) to add a rule, which will not set the have_rmap flag to false in CrushWrapper
2.another code using CrushWrapper trying to look up the newly added rule by name will get a -ENOENT.

This patch move CrushWrapper::crush to private, together with three reverse map(type_rmap, name_rmap, rule_name_rmap)
and also change codes accessing the CrushWrapper::crush to make it compile.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
EC-ISA: add intelligent table cache
EC-ISA: avoid usage of table cache lock outside the class implementation by introducing the setEncodingTable/setEncodingCoefficient methods
erasure-code: mon, osd etc. depend on the plugins

Since the erasure code plugin version check has been introduced,
whenever a library/binary that can load plugin needs to be recompiled,
the erasure code plugins must also be considered. If the reason for
recompiling the library/binary is a new commit, the plugins will fail to
load.

The dependency is not based on source compilation and a shared library
dependency on liberasure-code.la is added instead. This library is
uniformly used whenever a plugin is to be loaded and therefore covers
all library/binaries that need it.

http://tracker.ceph.com/issues/9413 Fixes: #9413

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
test: Fix ceph_test_rados_watch_notify to delete the pools it creates

Fixes: #7934

Signed-off-by: David Zafman <dzafman@redhat.com>
mds/Beacon: do not reconnect to mon in quick succession

Wait at least one beacon interval between mon session resets.

Fixes: #9428
Signed-off-by: Sage Weil <sage@redhat.com>
mds: sleep in progress thread if laggy and waiting_for_nolaggy waiters

If we have nolaggy waiters but are laggy we want to sleep.  Otherwise,
we will just spin and spam the log ...

Signed-off-by: Sage Weil <sage@redhat.com>
Merge pull request #2463 from ceph/wip-mds-beacon

mds: a couple fixes for the beacons

Reviewed-by: John Spray <john.spray@redhat.com>
Merge pull request #2459 from ceph/wip-7934

test: Fix ceph_test_rados_watch_notify to delete the pools it creates

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
doc: Updated authentication notes. Fixed syntax error.

Signed-off-by: John Wilkins <jowilki@redhat.com>
doc: Fixed syntax error.

Signed-off-by: John Wilkins <jowilki@redhat.com>
Merge pull request #2409 from apeters1971/wip-ec-isa-table-cache-refac-master

EC-ISA: add intelligent table cache

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
erasure-code: fix erasure_code_benchmark goop

Using a stringstream that is only displayed on error when calling the
erasure code factory, instead of cerr. The user expects the output to be
clean when there is no error.

http://tracker.ceph.com/issues/9429 Fixes: #9429

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
Merge pull request #2450 from dachary/wip-9413-erasure-code-version-check

erasure-code: mon, osd etc. depend on the plugins
Merge pull request #2416 from xiaoxichen/make_crush_private

Change CrushWrapper::crush to private

Reviewed-by: Sage Weil <sage@redhat.com>
Merge pull request #2464 from dachary/wip-9429-bench

erasure-code: fix erasure_code_benchmark goop

Reviewed-by: Janne Grunau <j@jannau.net>
mds: update segment references during journal rewrite

... to avoid leaving log events that reference log
segments by offsets which no longer exist.

Signed-off-by: John Spray <john.spray@redhat.com>