]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix one rename dentry linkage projection case
authorSage Weil <sage.weil@dreamhost.com>
Wed, 2 Mar 2011 17:41:20 +0000 (09:41 -0800)
committerSage Weil <sage.weil@dreamhost.com>
Wed, 2 Mar 2011 17:41:20 +0000 (09:41 -0800)
There are more.  :(

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
src/mds/Server.cc

index 524432be23b12d0dc6837eda3a515aa83efe72c5..212b6ac8615959d7fcc860a89fb4126ef28df5e8 100644 (file)
@@ -4916,8 +4916,10 @@ void Server::_rename_prepare(MDRequest *mdr,
   // dest
   if (srcdnl->is_remote()) {
     if (!linkmerge) {
-      if (destdn->is_auth())
+      if (destdn->is_auth()) {
        mdr->more()->pvmap[destdn] = destdn->pre_dirty();
+        destdn->push_projected_linkage(srcdnl->get_remote_ino(), srcdnl->get_remote_d_type());
+      }
       if (srcdnl->get_inode()->is_auth()) {
        pi = srcdnl->get_inode()->project_inode();
        pi->version = srcdnl->get_inode()->pre_dirty();