mon: fix `fs ls` on peons

This was incorrectly using pending_mdsmap instead
of mdsmap.  We didn't notice in test because of
single-mon configurations.

Fixes: #10288
Backport: giant

Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 5559e6aea9e9374ecdac0351777dfd6f5f5d1e67)
Merge pull request #3151 from ceph/wip-10288-giant

mon: fix `fs ls` on peons [giant backport]

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
osdc/Filer: use finisher to execute C_Probe and C_PurgeRange

Currently contexts C_Probe/C_PurgeRange are executed while holding
OSDSession::completion_lock. C_Probe and C_PurgeRange may call
Objecter::stat() and Objecter::remove() respectively, which acquire
Objecter::rwlock. This can cause deadlock because there is intermediate
dependency between Objecter::rwlock and OSDSession::completion_lock:

 Objecter::rwlock -> OSDSession::lock -> OSDSession::completion_lock

The fix is exexcute C_Probe/C_PurgeRange in finisher thread.

Fixes: #10229
Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit d3ee89ace660161df7796affbf9a70f3d0dedce1)
Merge pull request #3159 from ceph/wip-10229-giant

osdc/Filer: use finisher to execute C_Probe and C_PurgeRange [giant backport]

Reviewed-by: Greg Farnum <gfarnum@redhat.com>