]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: do not take the ino which has been used
authorXiubo Li <xiubli@redhat.com>
Wed, 15 Sep 2021 12:58:22 +0000 (20:58 +0800)
committerXiubo Li <xiubli@redhat.com>
Fri, 9 Jun 2023 02:01:03 +0000 (10:01 +0800)
commit3d420afcb0b4a9196144b6729be308888fe377f3
treea5eac683f260fcfebcf17373b63d598657fa4bea
parent376cf033957257bdd10ccb955578ede88a994b6f
mds: do not take the ino which has been used

When replaying the journals, if the inodetable or the sessionmap
versions do not match, the CInode will be added to the inode_map,
but the ino may still be in the inodetable or sessions' prealloc
inos list.

So when allocating new CInode we should skip them.

Fixes: https://tracker.ceph.com/issues/52280
Signed-off-by: Xiubo Li <xiubli@redhat.com>
(cherry picked from commit a8c63c7919a78497190995b1a542fbcc05e68d92)
src/mds/CDir.cc
src/mds/MDCache.cc
src/mds/MDCache.h
src/mds/Server.cc
src/mds/journal.cc