mirror-linux/include/linux/ceph
Xiubo Li 4d7ace02ba ceph: fix mdsmap cluster available check based on laggy number
In case the max_mds > 1 in MDS cluster and there is no any standby
MDS and all the max_mds MDSs are in up:active state, if one of the
up:active MDSs is dead, the m->m_num_laggy in kclient will be 1.
Then the mount will fail without considering other healthy MDSs.

There manybe some MDSs still "in" the cluster but not in up:active
state, we will ignore them. Only when all the up:active MDSs in
the cluster are laggy will treat the cluster as not be available.

In case decreasing the max_mds, the cluster will not stop the extra
up:active MDSs immediately and there will be a latency. During it
the up:active MDS number will be larger than the max_mds, so later
the m_info memories will 100% be reallocated.

Here will pick out the up:active MDSs as the m_num_mds and allocate
the needed memories once.

Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2020-01-27 16:53:39 +01:00
..
auth.h libceph: add authorizer challenge 2018-08-02 21:33:24 +02:00
buffer.h libceph: allow ceph_buffer_put() to receive a NULL ceph_buffer 2019-08-22 10:47:41 +02:00
ceph_debug.h
ceph_features.h libceph: turn on CEPH_FEATURE_MSG_ADDR2 2019-07-08 14:01:43 +02:00
ceph_frag.h
ceph_fs.h ceph: more precise CEPH_CLIENT_CAPS_PENDING_CAPSNAP 2019-07-08 14:01:44 +02:00
ceph_hash.h
cls_lock_client.h rbd: support for object-map and fast-diff 2019-07-08 14:01:45 +02:00
debugfs.h ceph: no need to check return value of debugfs_create functions 2019-07-03 16:57:18 +02:00
decode.h libceph: rename ceph_encode_addr to ceph_encode_banner_addr 2019-07-08 14:01:43 +02:00
libceph.h libceph, rbd, ceph: convert to use the new mount API 2019-11-27 22:28:37 +01:00
mdsmap.h ceph: fix mdsmap cluster available check based on laggy number 2020-01-27 16:53:39 +01:00
messenger.h libceph: add function that reset client's entity addr 2019-09-16 12:06:23 +02:00
mon_client.h libceph: add function that reset client's entity addr 2019-09-16 12:06:23 +02:00
msgpool.h libceph: preallocate message data items 2018-10-22 10:28:22 +02:00
msgr.h libceph: add authorizer challenge 2018-08-02 21:33:24 +02:00
osd_client.h libceph: add function that clears osd client's abort_err 2019-09-16 12:06:23 +02:00
osdmap.h libceph: fix clang warning for CEPH_DEFINE_OID_ONSTACK 2019-05-07 19:22:37 +02:00
pagelist.h libceph: introduce ceph_pagelist_alloc() 2018-10-22 10:28:21 +02:00
rados.h libceph: support the RADOS copy-from operation 2018-10-22 10:28:23 +02:00
string_table.h
striper.h rbd: support for object-map and fast-diff 2019-07-08 14:01:45 +02:00
types.h ceph: add mount option to limit caps count 2019-03-05 18:55:17 +01:00