crushtool: safeguard for missing --num-rep when --test

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

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
mon: prevent cache pools being used CephFS

Fixes two things:
 * EC pools are now permissible if they have a cache overlay
 * Pools are not permissible if they are a cache tier.

Fixes: #9435

Signed-off-by: John Spray <john.spray@redhat.com>
mon: forbid tier changes when in use by FS

* Removing tiers from a base pool in use by CephFS is forbidden.
* Using CephFS pools as tiers is forbidden.

Signed-off-by: John Spray <john.spray@redhat.com>
Merge pull request #2507 from ceph/wip-9435

#9435 - enforce rules for using EC/tiered pools with CephFS

Reviewed-by: Greg Farnum <greg@inktank.com>
Merge pull request #2508 from dachary/wip-9490-crushtool-num-rep

crushtool: safeguard for missing --num-rep when --test

Reviewed-by: Johnu George <johnugeorge109@gmail.com>
mds: collapse numerous client warnings into one

...to avoid sending O(N_clients) sized beacons.

Fixes: #9375

Signed-off-by: John Spray <john.spray@redhat.com>
messages: add cephfs client metadata to MClientSession

Signed-off-by: John Spray <john.spray@redhat.com>
mds: store client metadata on Session

Signed-off-by: John Spray <john.spray@redhat.com>
mds: include client metadata in `session ls`

Signed-off-by: John Spray <john.spray@redhat.com>
ceph_fuse: refactor init to make mount_point accessible

...so that we can read out the mount point between init
and start() in order to feed it to Client before it connects
to the MDS.

Signed-off-by: John Spray <john.spray@redhat.com>
client: send metadata in session open

Populated with hostname and entity_id by
default, with interface for outer layers
like ceph_fuse, libcephfs to inject their
own metadata.

Signed-off-by: John Spray <john.spray@redhat.com>
ceph_fuse: include mount point in client metadata

Signed-off-by: John Spray <john.spray@redhat.com>
mds: generate friendly name for client sessions

...from the client metadata, for use in health messages.

Signed-off-by: John Spray <john.spray@redhat.com>
mds: implement const SessionMap::get_session

Signed-off-by: John Spray <john.spray@redhat.com>
mds: use new Session::human_name in health msgs

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