]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: use send_dentry_unlink helper for remote unlink
authorSage Weil <sage@newdream.net>
Tue, 6 Apr 2010 17:46:07 +0000 (10:46 -0700)
committerSage Weil <sage@newdream.net>
Tue, 6 Apr 2010 19:32:07 +0000 (12:32 -0700)
src/mds/Server.cc

index fd36335b09d7ebc0f2bdb1fc2618ff8c58345961..3cbe1154102b00568417ba3f6717dde365a09ea2 100644 (file)
@@ -3306,20 +3306,14 @@ void Server::_link_remote_finish(MDRequest *mdr, bool inc,
     // unlink main dentry
     dn->get_dir()->unlink_inode(dn);
     dn->mark_dirty(dn->get_projected_version(), mdr->ls);  // dirty old dentry
-
-    // share unlink news with replicas
-    for (map<int,int>::iterator it = dn->replicas_begin();
-        it != dn->replicas_end();
-        it++) {
-      dout(7) << "_link_remote_finish sending MDentryUnlink to mds" << it->first << dendl;
-      MDentryUnlink *unlink = new MDentryUnlink(dn->get_dir()->dirfrag(), dn->name);
-      mds->send_message_mds(unlink, it->first);
-    }
   }
 
   mdr->apply();
 
-  mds->mdcache->send_dentry_link(dn);
+  if (inc)
+    mds->mdcache->send_dentry_link(dn);
+  else
+    mds->mdcache->send_dentry_unlink(dn, NULL);
   
   // commit anchor update?
   if (mdr->more()->dst_reanchor_atid)