]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix open_remote_ino freeze_dir check
authorSage Weil <sage@newdream.net>
Sun, 3 Aug 2008 21:52:39 +0000 (14:52 -0700)
committerSage Weil <sage@newdream.net>
Sun, 3 Aug 2008 22:08:00 +0000 (15:08 -0700)
src/mds/MDCache.cc

index 1ccb4298a767373504853156a5a104b60cc6f249..73d598753f36ddaa9acaa80e519e9c96cb8d6280 100644 (file)
@@ -5621,15 +5621,15 @@ void MDCache::open_remote_ino_2(inodeno_t ino,
   }
 
   if (!dir && in->is_auth()) {
-    if (dir->is_frozen_dir()) {
-      dout(7) << "traverse: " << *dir << " is frozen_dir, waiting" << dendl;
-      dir->add_waiter(CDir::WAIT_UNFREEZE, onfinish);
+    if (in->is_frozen_dir()) {
+      dout(7) << "traverse: " << *in << " is frozen_dir, waiting" << dendl;
+      in->parent->dir->add_waiter(CDir::WAIT_UNFREEZE, onfinish);
       return;
     }
     dir = in->get_or_open_dirfrag(this, frag);
   }
-  
   assert(dir);
+
   if (dir->is_auth()) {
     if (dir->is_complete()) {
       // hrm.  requery anchor table.