]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: wake up umount waiter if receiving session open message 1633/head
authorYan, Zheng <zheng.z.yan@intel.com>
Wed, 9 Apr 2014 03:22:04 +0000 (11:22 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Wed, 9 Apr 2014 03:23:48 +0000 (11:23 +0800)
Wake up umount waiter if receiving session open message while
umounting. The umount waiter will re-close the session.

Fixes: #8004
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
src/client/Client.cc

index 9168ccccb9ea1a05e710262af9d555f6f0821309..cdfd0f85abc6bf420e70bce6c6a74c1aa9994892 100644 (file)
@@ -1610,9 +1610,10 @@ void Client::handle_client_session(MClientSession *m)
   case CEPH_SESSION_OPEN:
     renew_caps(session);
     session->state = MetaSession::STATE_OPEN;
-    if (!unmounting) {
+    if (unmounting)
+      mount_cond.Signal();
+    else
       connect_mds_targets(from);
-    }
     signal_context_list(session->waiting_for_open);
     break;