]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: fix race between send_dentry_link() and cache expire
authorYan, Zheng <zheng.z.yan@intel.com>
Sat, 8 Dec 2012 14:43:32 +0000 (22:43 +0800)
committerSage Weil <sage@inktank.com>
Mon, 24 Dec 2012 04:01:12 +0000 (20:01 -0800)
commit0002546205a46306433b3c85b079bbb64fb45f09
treebb52a298a5052712c9ea7c252cfc9334136d529e
parentefbca31d3bb94f173352b527bca6d1ebf9e6b0fb
mds: fix race between send_dentry_link() and cache expire

MDentryLink message can race with cache expire, When it arrives at
the target MDS, it's possible there is no corresponding dentry in
the cache. If this race happens, we should expire the replica inode
encoded in the MDentryLink message. But to expire an inode, the MDS
need to know which subtree does the inode belong to, so modify the
MDentryLink message to include this information.

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