]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: always use get_newest_seq (not snap) when doing cow
authorSage Weil <sage@newdream.net>
Tue, 20 Apr 2010 23:06:21 +0000 (16:06 -0700)
committerSage Weil <sage@newdream.net>
Tue, 20 Apr 2010 23:39:13 +0000 (16:39 -0700)
src/mds/CInode.cc
src/mds/MDCache.cc
src/mds/snap.cc

index 3d9293e5c4609b93ec1dec32fcb93e483e38dffe..911a3531be13ff628ed852ed9234100eb3dcf357 100644 (file)
@@ -1496,7 +1496,7 @@ old_inode_t& CInode::cow_old_inode(snapid_t follows, inode_t *pi)
 
 void CInode::pre_cow_old_inode()
 {
-  snapid_t follows = find_snaprealm()->get_newest_snap();
+  snapid_t follows = find_snaprealm()->get_newest_seq();
   if (first <= follows)
     cow_old_inode(follows, get_projected_inode());
 }
index 762d1a7af3cd5203b242e879bc926717a66a2e99..94e82d160b93523ac6c1c0fcff01a31705fd8062 100644 (file)
@@ -1310,7 +1310,7 @@ void MDCache::journal_cow_dentry(Mutation *mut, EMetaBlob *metablob, CDentry *dn
     CInode *in = dnl->get_inode();
 
     if (follows == CEPH_NOSNAP)
-      follows = in->find_snaprealm()->get_newest_snap();
+      follows = in->find_snaprealm()->get_newest_seq();
 
     if (in->get_projected_parent_dn() != dn &&
        follows+1 > dn->first) {
@@ -1335,7 +1335,7 @@ void MDCache::journal_cow_dentry(Mutation *mut, EMetaBlob *metablob, CDentry *dn
 
   } else {
     if (follows == CEPH_NOSNAP)
-      follows = dn->dir->inode->find_snaprealm()->get_newest_snap();
+      follows = dn->dir->inode->find_snaprealm()->get_newest_seq();
     
     // already cloned?
     if (follows < dn->first) {
@@ -1701,7 +1701,7 @@ void MDCache::predirty_journal_parents(Mutation *mut, EMetaBlob *blob,
       
       snapid_t follows = cfollows;
       if (follows == CEPH_NOSNAP)
-       follows = prealm->get_newest_snap();
+       follows = prealm->get_newest_seq();
       
       snapid_t first = follows+1;
       if (cur->first > first)
index d16d6c483886002bdf9504e3fc67cfd562ae1a07..c5172f4384583f34211d55d9430d1f752886f326 100644 (file)
@@ -462,7 +462,7 @@ void SnapRealm::build_snap_trace(bufferlist& snapbl)
 void SnapRealm::project_past_parent(SnapRealm *newparent, bufferlist& snapbl)
 {
   snapid_t newlast = newparent->get_last_created();
-  snapid_t oldlast = parent->get_newest_snap();
+  snapid_t oldlast = parent->get_newest_seq();
   snapid_t first = current_parent_since;
 
   if (oldlast >= current_parent_since) {
@@ -484,7 +484,7 @@ void SnapRealm::project_past_parent(SnapRealm *newparent, bufferlist& snapbl)
 void SnapRealm::add_past_parent(SnapRealm *oldparent)
 {
   snapid_t newlast = parent->get_last_created();
-  snapid_t oldlast = oldparent->get_newest_snap();
+  snapid_t oldlast = oldparent->get_newest_seq();
   snapid_t first = current_parent_since;
   
   if (oldlast >= current_parent_since) {