]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: use snaprealm projection for MDCache::snaprealm_create()
authorSage Weil <sage@newdream.net>
Wed, 17 Aug 2011 22:33:28 +0000 (15:33 -0700)
committerSage Weil <sage@newdream.net>
Wed, 17 Aug 2011 22:33:28 +0000 (15:33 -0700)
Signed-off-by: Sage Weil <sage@newdream.net>
src/mds/MDCache.cc

index 0265d0c32b71491c3ba1028d402980af72be0f23..60b6d3aaf2827dcd33060b1f56ea346ae607929d 100644 (file)
@@ -7804,14 +7804,13 @@ void MDCache::snaprealm_create(MDRequest *mdr, CInode *in)
   snapid_t seq;
   ::decode(seq, p);
 
-  SnapRealm t(this, in);
-  t.srnode.created = seq;
-  bufferlist snapbl;
-  ::encode(t, snapbl);
+  sr_t *newsnap = in->project_snaprealm(seq);
+  newsnap->seq = seq;
+  newsnap->last_created = seq;
   
   predirty_journal_parents(mut, &le->metablob, in, 0, PREDIRTY_PRIMARY);
   journal_cow_inode(mut, &le->metablob, in);
-  le->metablob.add_primary_dentry(in->get_projected_parent_dn(), true, in, 0, &snapbl);
+  le->metablob.add_primary_dentry(in->get_projected_parent_dn(), true, in);
 
   mds->mdlog->submit_entry(le, new C_MDC_snaprealm_create_finish(this, mdr, mut, in));
   mds->mdlog->flush();