From b0731a3ad742e56082ccdefcd25db6e9e9361ff9 Mon Sep 17 00:00:00 2001 From: sageweil Date: Tue, 9 Oct 2007 23:27:36 +0000 Subject: [PATCH] again git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@1905 29311d96-e01e-0410-9327-a35deaab8ce9 --- branches/sage/mds/mds/CDir.cc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/branches/sage/mds/mds/CDir.cc b/branches/sage/mds/mds/CDir.cc index 428bb586bdb85..93f753aaa5087 100644 --- a/branches/sage/mds/mds/CDir.cc +++ b/branches/sage/mds/mds/CDir.cc @@ -1553,14 +1553,14 @@ void CDir::unfreeze_tree() // waiters? finish_waiting(WAIT_UNFREEZE); } else { + finish_waiting(WAIT_FROZEN, -1); + // freezing. stop it. assert(state_test(STATE_FREEZINGTREE)); state_clear(STATE_FREEZINGTREE); auth_unpin(); - // cancel freeze waiters finish_waiting(WAIT_UNFREEZE); - finish_waiting(WAIT_FROZEN, -1); } } @@ -1651,17 +1651,16 @@ void CDir::unfreeze_dir() if (is_auth() && !is_subtree_root()) inode->auth_unpin(); - // waiters? finish_waiting(WAIT_UNFREEZE); } else { + finish_waiting(WAIT_FROZEN, -1); + // still freezing. stop. assert(state_test(STATE_FREEZINGDIR)); state_clear(STATE_FREEZINGDIR); auth_unpin(); - // cancel freeze waiters finish_waiting(WAIT_UNFREEZE); - finish_waiting(WAIT_FROZEN, -1); } } -- 2.39.5