From: Yan, Zheng Date: Sat, 11 May 2013 10:47:49 +0000 (+0800) Subject: mds: fix check for base inode discovery X-Git-Tag: v0.65~197^2~13 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9424298f27e3736c5584eb2bb5728070daeb184f;p=ceph.git mds: fix check for base inode discovery If a MDiscover message is for discovering base inode, want_base_dir should be false, path should be empty. Signed-off-by: Yan, Zheng --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 5e8f2a5fdeaa..5c2732bf0f35 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -9175,7 +9175,8 @@ void MDCache::handle_discover(MDiscover *dis) snapid_t snapid = dis->get_snapid(); // get started. - if (MDS_INO_IS_BASE(dis->get_base_ino())) { + if (MDS_INO_IS_BASE(dis->get_base_ino()) && + !dis->wants_base_dir() && dis->get_want().depth() == 0) { // wants root dout(7) << "handle_discover from mds." << from << " wants base + " << dis->get_want().get_path()