]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: don't open dirfrag while subtree is frozen
authorYan, Zheng <zheng.z.yan@intel.com>
Tue, 12 Mar 2013 12:51:43 +0000 (20:51 +0800)
committerGreg Farnum <greg@inktank.com>
Mon, 1 Apr 2013 16:26:24 +0000 (09:26 -0700)
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
src/mds/MDCache.cc

index ac922ed69f9ee776ce1adb3667079f7bbb6377d9..4c534d06ebc82f9ef9b06bd4824f55242c9ec735 100644 (file)
@@ -7094,9 +7094,9 @@ int MDCache::path_traverse(MDRequest *mdr, Message *req, Context *fin,     // wh
     if (!curdir) {
       if (cur->is_auth()) {
         // parent dir frozen_dir?
-        if (cur->is_frozen_dir()) {
-          dout(7) << "traverse: " << *cur->get_parent_dir() << " is frozen_dir, waiting" << dendl;
-          cur->get_parent_dn()->get_dir()->add_waiter(CDir::WAIT_UNFREEZE, _get_waiter(mdr, req, fin));
+        if (cur->is_frozen()) {
+          dout(7) << "traverse: " << *cur << " is frozen, waiting" << dendl;
+          cur->add_waiter(CDir::WAIT_UNFREEZE, _get_waiter(mdr, req, fin));
           return 1;
         }
         curdir = cur->get_or_open_dirfrag(this, fg);