mds: fix corner case of replaying open sessions
Marking a session dirty may flush all existing dirty sessions. MDS
calls Server::finish_force_open_sessions() for log event that opens
multiple sessions. The function marks sessions dirty one by one. So
sessions opened by a log event may get flushed partially.
When replaying a log event that opens multiple sessions, mds need to
check if some of these sessions have already been flushed.
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit
277327565fae93fad8e03cc5f27b78c98354c0dc)
Conflicts:
src/mds/SessionMap.cc
src/mds/SessionMap.h
src/mds/journal.cc