]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
mds: save the metadata pool id MDSRank class's private member
authorXiubo Li <xiubli@redhat.com>
Tue, 11 May 2021 04:03:51 +0000 (12:03 +0800)
committerXiubo Li <xiubli@redhat.com>
Wed, 12 May 2021 01:21:04 +0000 (09:21 +0800)
commit5cc44b63f433c29c6fb933ae3072ac6270e7d333
tree067935034dc38a966561c2b1fc657f75ccfebf0a
parentdc7df7c67e04ddd83565e59131e8c30c1dd8f53e
mds: save the metadata pool id MDSRank class's private member

There is one rare case that when mds daemon received a new mdsmap
and during decoding it, the metadata_pool will be reset to -1, if
other threads try to get it from old mdsmap it will get a invalid
pool id.

This can also help get rid of the mds_lock else where.

Fixes: https://tracker.ceph.com/issues/50389
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Signed-off-by: Xiubo Li <xiubli@redhat.com>
src/mds/CDir.cc
src/mds/CInode.cc
src/mds/MDBalancer.cc
src/mds/MDCache.cc
src/mds/MDLog.cc
src/mds/MDSRank.cc
src/mds/MDSRank.h
src/mds/MDSTable.cc
src/mds/OpenFileTable.cc
src/mds/Server.cc
src/mds/SessionMap.cc