]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: Unify migration-handling code in _commit_slave_rename.
authorGreg Farnum <gregory.farnum@dreamhost.com>
Thu, 14 Apr 2011 22:53:09 +0000 (15:53 -0700)
committerSage Weil <sage@newdream.net>
Mon, 18 Apr 2011 17:41:02 +0000 (10:41 -0700)
We need to handle locks and pins on exported inodes but we
were using a separate if block with its own (non-matching!) check
for no good reason.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
src/mds/Server.cc

index 7f5d3708ed6aed59704c20f26a5465cae3e2345f..2315d9cb4b256b50975a5f5ad192991d5961c10e 100644 (file)
@@ -5669,14 +5669,12 @@ void Server::_commit_slave_rename(MDRequest *mdr, int r,
       
       // unfreeze
       assert(destdnl->get_inode()->is_frozen_inode() ||
-            destdnl->get_inode()->is_freezing_inode());
+             destdnl->get_inode()->is_freezing_inode());
       destdnl->get_inode()->unfreeze_inode(finished);
       
       mds->queue_waiters(finished);
-    }
 
-    // drop our pins
-    if (srcdn->is_auth()) {
+      // drop our pins
       // we exported, clear out any xlocks that we moved to another MDS
       set<SimpleLock*>::iterator i = mdr->xlocks.begin();
       while(i != mdr->xlocks.end()) {