]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
notes on snaprealm projection in project_inode situations
authorGreg Farnum <gregf@hq.newdream.net>
Tue, 17 Aug 2010 18:18:21 +0000 (11:18 -0700)
committerGreg Farnum <gregf@hq.newdream.net>
Thu, 19 Aug 2010 22:33:53 +0000 (15:33 -0700)
src/mds/Server.cc

index 95f598421745ab51e156bd13e6eeccf5ad253b88..9313d68026a31a9345944817c50b08c15ddae287 100644 (file)
@@ -4696,7 +4696,7 @@ void Server::_rename_prepare(MDRequest *mdr,
       assert(straydn);  // moving to straydn.
       // link--, and move.
       if (destdn->is_auth()) {
-       tpi = destdnl->get_inode()->project_inode();
+       tpi = destdnl->get_inode()->project_inode(); //project_snaprealm
        tpi->version = straydn->pre_dirty(tpi->version);
       }
       straydn->push_projected_linkage(destdnl->get_inode());
@@ -4732,7 +4732,8 @@ void Server::_rename_prepare(MDRequest *mdr,
        oldpv = srcdnl->get_inode()->get_projected_version();
       else
        oldpv = _rename_prepare_import(mdr, srcdn, client_map_bl);
-      pi = srcdnl->get_inode()->project_inode();
+      pi = srcdnl->get_inode()->project_inode(); // project snaprealm if srcdnl->is_primary
+                                                 // & srcdnl->snaprealm
       pi->version = mdr->more()->pvmap[destdn] = destdn->pre_dirty(oldpv);
       destdn->push_projected_linkage(srcdnl->get_inode());
     }