]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: write objects directory, avoid filer
authorSage Weil <sage@newdream.net>
Tue, 9 Sep 2008 23:10:32 +0000 (16:10 -0700)
committerSage Weil <sage@newdream.net>
Tue, 9 Sep 2008 23:11:33 +0000 (16:11 -0700)
src/mds/MDSTable.cc
src/mds/SessionMap.cc

index fe5fe79114873451e5cb1b4eb672d69e7c4d6388..0a5c1d1d24ac41be82b90304c1a5852c8fdf2773 100644 (file)
@@ -58,10 +58,13 @@ void MDSTable::save(Context *onfinish, version_t v)
 
   // write (async)
   SnapContext snapc;
-  mds->filer->write(ino, &layout, snapc,
-                    0, bl.length(), bl,
-                    0,
-                   0, new C_MT_Save(this, version));
+  object_t oid(ino, 0);
+  mds->objecter->write_full(oid,
+                           mds->objecter->osdmap->file_to_object_layout(oid,
+                                                                        g_default_mds_dir_layout),
+                           snapc,
+                           bl, 0,
+                           NULL, new C_MT_Save(this, version));
 }
 
 void MDSTable::save_2(version_t v)
@@ -112,10 +115,12 @@ void MDSTable::load(Context *onfinish)
   state = STATE_OPENING;
 
   C_MT_Load *c = new C_MT_Load(this, onfinish);
-  mds->filer->read(ino, &layout, CEPH_NOSNAP,
-                   0, ceph_file_layout_su(layout),
-                   &c->bl, 0,
-                   c);
+  object_t oid(ino, 0);
+  mds->objecter->read(oid,
+                     0, 0, // whole object
+                     mds->objecter->osdmap->file_to_object_layout(oid,
+                                                                  g_default_mds_dir_layout),
+                     &c->bl, 0, c);
 }
 
 void MDSTable::load_2(int r, bufferlist& bl, Context *onfinish)
index a7229753c8e64c06c291b546118f94dd14630fd7..a1c41f2d053df8b0f803c27da64f16480ba1af85 100644 (file)
@@ -62,10 +62,13 @@ void SessionMap::load(Context *onload)
        waiting_for_load.push_back(onload);
   
   C_SM_Load *c = new C_SM_Load(this);
-  mds->filer->read(inode.ino, &inode.layout, CEPH_NOSNAP,
-                   0, ceph_file_layout_su(inode.layout),
-                   &c->bl, 0,
-                   c);
+  object_t oid(inode.ino, 0);
+  mds->objecter->read(oid,
+                     0, 0, // whole object
+                     mds->objecter->osdmap->file_to_object_layout(oid,
+                                                                  g_default_mds_dir_layout),
+                     &c->bl, 0,
+                     c);
 
 }
 
@@ -113,10 +116,13 @@ void SessionMap::save(Context *onsave, version_t needv)
   encode(bl);
   committing = version;
   SnapContext snapc;
-  mds->filer->write(inode.ino, &inode.layout, snapc,
-                    0, bl.length(), bl,
-                    0,
-                   0, new C_SM_Save(this, version));
+  object_t oid(inode.ino, 0);
+  mds->objecter->write_full(oid, 
+                           mds->objecter->osdmap->file_to_object_layout(oid,
+                                                                        g_default_mds_dir_layout),
+                           snapc,
+                           bl, 0,
+                           NULL, new C_SM_Save(this, version));
 }
 
 void SessionMap::_save_finish(version_t v)