]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mdstore uses bufferlists, no more ropes
authorsage <sage@29311d96-e01e-0410-9327-a35deaab8ce9>
Thu, 30 Jun 2005 20:30:58 +0000 (20:30 +0000)
committersage <sage@29311d96-e01e-0410-9327-a35deaab8ce9>
Thu, 30 Jun 2005 20:30:58 +0000 (20:30 +0000)
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@370 29311d96-e01e-0410-9327-a35deaab8ce9

ceph/mds/MDStore.cc

index a36dbaa4c041b135c95e8aa564c6f1efc40768c8..2eaf772e2bc07ae038b73b6142475ae561754dfe 100644 (file)
@@ -178,7 +178,6 @@ class C_MDS_CommitDirFinish : public Context {
   __uint64_t version;
 
  public:
-  crope buffer;
 
   C_MDS_CommitDirFinish(MDStore *ms, CDir *dir) : Context() {
        this->ms = ms;
@@ -340,7 +339,7 @@ void MDStore::do_commit_dir( CDir *dir,
   // fill buffer
   __uint32_t num = 0;
   
-  crope dirdata;
+  bufferlist dirdata;
   
   for (CDir_map_t::iterator it = dir->begin();
           it != dir->end();
@@ -368,7 +367,7 @@ void MDStore::do_commit_dir( CDir *dir,
 
          // name, marker, ion
          dirdata.append( it->first.c_str(), it->first.length() + 1);
-         dirdata.append( 'L' );         // remote link
+         dirdata.append( "L", 1 );         // remote link
          dirdata.append((char*)&ino, sizeof(ino));
 
        } else {
@@ -380,7 +379,7 @@ void MDStore::do_commit_dir( CDir *dir,
   
          // name, marker, inode, [symlink string]
          dirdata.append( it->first.c_str(), it->first.length() + 1);
-         dirdata.append( 'I' );         // inode
+         dirdata.append( "I", 1 );         // inode
          dirdata.append( (char*) &in->inode, sizeof(inode_t));
          
          if (in->is_symlink()) {
@@ -405,7 +404,7 @@ void MDStore::do_commit_dir( CDir *dir,
   size_t size = sizeof(num) + dirdata.length();
   fin->bl.append((char*)&size, sizeof(size));
   fin->bl.append((char*)&num, sizeof(num));
-  fin->bl.append(dirdata.c_str(), dirdata.length());
+  fin->bl.claim_append(dirdata);  //.c_str(), dirdata.length());
   assert(fin->bl.length() == size + sizeof(size));
   
   // pin inode