]> git.apps.os.sepia.ceph.com Git - ceph-ci.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>
Wed, 28 Jun 2023 01:48:55 +0000 (09:48 +0800)
commitaf49979209ecf6556bf5c89d1b04001e4e212ef2
tree23e867c449d3c1cb5cef1eef7c5dc87f710ecf12
parent44e0807b3dda242da1adad81b9a6420a72a4f6a6
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