ceph: fix mds cluster availability check
We should apply the check after getting the initial mdsmap.
Fixes: e9e427f0a1 ("ceph: check availability of mds cluster on mount")
Link: http://tracker.ceph.com/issues/18161
Signed-off-by: Yan, Zheng <zyan@redhat.com>
This commit is contained in:
@@ -2106,6 +2106,11 @@ static int __do_request(struct ceph_mds_client *mdsc,
|
|||||||
dout("do_request mdsmap err %d\n", err);
|
dout("do_request mdsmap err %d\n", err);
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
if (mdsc->mdsmap->m_epoch == 0) {
|
||||||
|
dout("do_request no mdsmap, waiting for map\n");
|
||||||
|
list_add(&req->r_wait, &mdsc->waiting_for_map);
|
||||||
|
goto finish;
|
||||||
|
}
|
||||||
if (!(mdsc->fsc->mount_options->flags &
|
if (!(mdsc->fsc->mount_options->flags &
|
||||||
CEPH_MOUNT_OPT_MOUNTWAIT) &&
|
CEPH_MOUNT_OPT_MOUNTWAIT) &&
|
||||||
!ceph_mdsmap_is_cluster_available(mdsc->mdsmap)) {
|
!ceph_mdsmap_is_cluster_available(mdsc->mdsmap)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user