From: Sage Weil Date: Wed, 13 Aug 2008 21:58:05 +0000 (-0700) Subject: mds: don't fall over discover_reply with dir_auth_hint X-Git-Tag: v0.4~258 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5235949a89a11898393925a8622d75bdc7e662ab;p=ceph.git mds: don't fall over discover_reply with dir_auth_hint --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 1f63efd39922..d88b194c462c 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -6855,7 +6855,7 @@ void MDCache::handle_discover_reply(MDiscoverReply *m) int next = m->starts_with; - if (next == MDiscoverReply::INODE) { + if (!p.end() && next == MDiscoverReply::INODE) { // add base inode cur = add_replica_inode(p, NULL, finished); dout(7) << "discover_reply got base inode " << *cur << dendl; diff --git a/src/messages/MDiscoverReply.h b/src/messages/MDiscoverReply.h index 59782d31d97c..901fab0f61d9 100644 --- a/src/messages/MDiscoverReply.h +++ b/src/messages/MDiscoverReply.h @@ -140,7 +140,10 @@ class MDiscoverReply : public Message { flag_error_dir(false), dir_auth_hint(CDIR_AUTH_UNKNOWN) { } - const char *get_type_name() { return "DisR"; } + const char *get_type_name() { return "discover_reply"; } + void print(ostream& out) { + out << "discover_reply(" << base_ino << ")"; + } // builders bool is_empty() {