]> git.apps.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>
Thu, 15 Jun 2023 05:11:26 +0000 (13:11 +0800)
commitcf627d001c3d14e17ef6e04e4800dba79e7251f7
tree75f2cc867a4aace5f2306ce0ff10cf19af914408
parent8c43c677d158b5e9f935b49dc88ba15f47f93e49
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