]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: void sending cap import message when inode is frozen 17854/head
authorYan, Zheng <zyan@redhat.com>
Tue, 29 Aug 2017 03:35:56 +0000 (11:35 +0800)
committerYan, Zheng <zyan@redhat.com>
Thu, 21 Sep 2017 03:34:40 +0000 (11:34 +0800)
commit69f042231056071dee16ed49aad95eaa3b0447f6
tree347e53004bb1420ef983229891339ff3f84eb6a9
parent25def78ceb4cb17c97ae911203a62fb410cd9399
mds: void sending cap import message when inode is frozen

To export an inode to other mds, mds need to:

- Freeze the inode (stop issuing caps to clients)
- Flush client sessions (ensure client have received all cap messages)
- Send cap export message

These steps guarantee that clients receive cap import/export messages
in proper order (In the case that inode gets exported servel times
within a short time)

When inode is frozen, mds may have already flushed client sessions.
So mds shouldn't send cap import messages.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 48a9e695e58ac15f1e494977e0db7a164bb2fe98)
src/mds/Migrator.cc