]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: obviate MDLog::start_entry
authorPatrick Donnelly <pdonnell@redhat.com>
Fri, 4 Nov 2022 12:58:46 +0000 (08:58 -0400)
committerPatrick Donnelly <pdonnell@redhat.com>
Tue, 1 Aug 2023 15:16:00 +0000 (11:16 -0400)
commitf249dc13de89f31f5a54ab3e6d05d357ede14fd4
tree353b90b36d0cfed6af0da5e0636a3c0a55f23d53
parent91b6bc4a012e2976bd66054bf21f7aefa18e4577
mds: obviate MDLog::start_entry

The major problem here is that the MDLog::_start_entry method puts the
current event sequence number in the EMetaBlob of the event (if
present). Because of this, no other event can be submitted as this would
invalidate the event sequence. Instead, fixup the event sequence during
submission and simplify related logic that uses it during EMetaBlob
construction.

Secondarily, for the purposes of this commit series, _start_entry
introduced recursive locks when generating the ESubtreeMap within
MDLog::_segment_upkeep. So, this commit is a necessary cleanup.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
12 files changed:
src/mds/CInode.cc
src/mds/Locker.cc
src/mds/MDCache.cc
src/mds/MDLog.cc
src/mds/MDLog.h
src/mds/MDSTableClient.cc
src/mds/MDSTableServer.cc
src/mds/Migrator.cc
src/mds/Server.cc
src/mds/StrayManager.cc
src/mds/events/EMetaBlob.h
src/mds/journal.cc