]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: re-send cap exports in resolve message.
authorYan, Zheng <zheng.z.yan@intel.com>
Tue, 26 Nov 2013 07:10:29 +0000 (15:10 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Mon, 16 Dec 2013 04:15:25 +0000 (12:15 +0800)
commit6a565881f6be784d231345a3543d851bee4d2225
treef3f52251c330f56fec7f297509dcb5826c7ed8af
parent4fdeb00df20ccd36c1e53c6ea234c63c18a9ff5a
mds: re-send cap exports in resolve message.

For rename operation that changes inode's authority, if master mds
of the operation crashed, inode's original auth mds sends export
messages to clients when it receives the master mds' resolve ack
message, Client can't reply on the export message to add caps for
the master mds, then reconnect the cap when the master mds enters
reconnect stage. Because client may receive the export message after
receiving mdsmap that claims the master mds is in reconnect stage.

The fix is include cap exports in resolve message, so the master mds
can send import messages to clients when it enters the rejoin stage.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
src/mds/MDCache.cc
src/mds/MDCache.h
src/messages/MMDSResolve.h
src/messages/MMDSResolveAck.h