From 2d926968d7e8a594006dfd9a5842cdd745f708b0 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 1 Apr 2011 11:09:58 -0700 Subject: [PATCH] mds: fix dir fetch on lookup_hash fix Signed-off-by: Sage Weil --- src/mds/Server.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index f91cbfe94a0cc..9d042324de450 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -2095,8 +2095,10 @@ void Server::handle_client_lookup_hash(MDRequest *mdr) reply_request(mdr, -ESTALE); return; } + dout(10) << " have diri " << *diri << dendl; unsigned hash = atoi(req->get_filepath2()[0].c_str()); frag_t fg = diri->dirfragtree[hash]; + dout(10) << " fg is " << fg << dendl; CDir *dir = diri->get_dirfrag(fg); if (!dir) { if (!diri->is_auth()) { @@ -2112,6 +2114,7 @@ void Server::handle_client_lookup_hash(MDRequest *mdr) dir = diri->get_or_open_dirfrag(mdcache, fg); } assert(dir); + dout(10) << " have dir " << *dir << dendl; if (!dir->is_auth()) { if (dir->is_ambiguous_auth()) { // wait @@ -2123,7 +2126,7 @@ void Server::handle_client_lookup_hash(MDRequest *mdr) return; } if (!dir->is_complete()) { - dir->fetch(0, new C_MDS_RetryRequest(mdcache, mdr)); + dir->fetch(new C_MDS_RetryRequest(mdcache, mdr)); return; } reply_request(mdr, -ESTALE); -- 2.39.5