summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-04-30 01:57:13 +0200
committerSage Weil <sage@inktank.com>2013-04-30 01:57:13 +0200
commit5d20c39caa9e5f84516f235285879d2a254501c5 (patch)
tree54b2cca4f85a0b886ecfe37e9ec2dbb79b48dbbd
parentMerge pull request #248 from ctrlaltdel/next (diff)
parentclient: make dup reply a louder error (diff)
downloadceph-5d20c39caa9e5f84516f235285879d2a254501c5.tar.xz
ceph-5d20c39caa9e5f84516f235285879d2a254501c5.zip
Merge remote-tracking branch 'gh/wip-up' into next
Reviewed-by: Sam Lang <sam.lang@inktank.com>
-rw-r--r--src/client/Client.cc14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/client/Client.cc b/src/client/Client.cc
index df04a637025..bddfa0a1996 100644
--- a/src/client/Client.cc
+++ b/src/client/Client.cc
@@ -1299,13 +1299,9 @@ int Client::make_request(MetaRequest *request,
// wait
if (session->state == MetaSession::STATE_OPENING) {
- Cond session_cond;
- session->waiting_for_open.push_back(&session_cond);
- while (session->state == MetaSession::STATE_OPENING) {
- ldout(cct, 10) << "waiting for session to mds." << mds << " to open" << dendl;
- session_cond.Wait(client_lock);
- }
- session->waiting_for_open.remove(&session_cond);
+ ldout(cct, 10) << "waiting for session to mds." << mds << " to open" << dendl;
+ wait_on_list(session->waiting_for_open);
+ continue;
}
if (!have_open_session(mds))
@@ -1688,8 +1684,8 @@ void Client::handle_client_reply(MClientReply *reply)
bool is_safe = reply->is_safe();
if (mds_requests.count(tid) == 0) {
- ldout(cct, 10) << "handle_client_reply no pending request on tid " << tid
- << " safe is:" << is_safe << dendl;
+ lderr(cct) << "handle_client_reply no pending request on tid " << tid
+ << " safe is:" << is_safe << dendl;
reply->put();
return;
}