]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds performance tweaks
authorsageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Sat, 29 Sep 2007 20:42:24 +0000 (20:42 +0000)
committersageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Sat, 29 Sep 2007 20:42:24 +0000 (20:42 +0000)
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@1874 29311d96-e01e-0410-9327-a35deaab8ce9

branches/sage/mds/config.cc
branches/sage/mds/config.h
branches/sage/mds/mds/MDBalancer.cc
branches/sage/mds/mds/MDCache.cc
branches/sage/mds/mds/Server.cc
branches/sage/mds/mds/journal.cc

index a51db55b3269c8fd4f27a964044a2bd3045f7393..6be6a95b6702f42dac682b9bbd78622295ea110c 100644 (file)
@@ -204,9 +204,8 @@ md_config_t g_conf = {
   mds_log: true,
   mds_log_max_events: -1, //MDS_CACHE_SIZE / 3,
   mds_log_max_segments: 100,
-  mds_log_max_trimming: 2,
+  mds_log_max_trimming: 10,
   mds_log_pad_entry: 128,//256,//64,
-  mds_log_read_inc: 1<<24,
   mds_log_flush_on_shutdown: true,
   mds_log_eopen_size: 100,   // # open inodes per log entry
 
@@ -685,8 +684,6 @@ void parse_config_options(std::vector<char*>& args)
       g_conf.mds_log_max_events = atoi(args[++i]);
     else if (strcmp(args[i], "--mds_log_max_segments") == 0) 
       g_conf.mds_log_max_segments = atoi(args[++i]);
-    else if (strcmp(args[i], "--mds_log_read_inc") == 0) 
-      g_conf.mds_log_read_inc = atoi(args[++i]);
     else if (strcmp(args[i], "--mds_log_max_trimming") == 0) 
       g_conf.mds_log_max_trimming = atoi(args[++i]);
 
index 50a3099e693b0bd0b8ed292e9b0d6d5e36b990c2..a850b7462c202340335e58e4c58ad1e932120aed 100644 (file)
@@ -199,7 +199,6 @@ struct md_config_t {
   int mds_log_max_segments;
   int mds_log_max_trimming;
   int mds_log_pad_entry;
-  int mds_log_read_inc;
   bool  mds_log_flush_on_shutdown;
   int mds_log_eopen_size;
   
index a3bfe5526245a59931dd665918d8c49fa3bc3f24..fdc2faba5def9a7777d223ab2da76397408026b5 100644 (file)
@@ -771,8 +771,8 @@ void MDBalancer::hit_inode(utime_t now, CInode *in, int type, int who)
   // hit inode
   in->pop.get(type).hit(now);
 
-  if (in->get_parent_dir())
-    hit_dir(now, in->get_parent_dir(), type, who);
+  if (in->get_parent_dn())
+    hit_dir(now, in->get_parent_dn()->get_dir(), type, who);
 }
 /*
   // hit me
index 370c25740a176e72bb142df05973d32cc1fb9e71..a075fa7b3be3ea5971d28b13f47a7410d9c0afa1 100644 (file)
@@ -3752,7 +3752,7 @@ int MDCache::path_traverse(MDRequest *mdr, Message *req,     // who
         // parent dir frozen_dir?
         if (cur->is_frozen_dir()) {
           dout(7) << "traverse: " << *cur->get_parent_dir() << " is frozen_dir, waiting" << dendl;
-          cur->get_parent_dir()->add_waiter(CDir::WAIT_UNFREEZE, _get_waiter(mdr, req));
+          cur->get_parent_dn()->get_dir()->add_waiter(CDir::WAIT_UNFREEZE, _get_waiter(mdr, req));
           return 1;
         }
 
index aad364d9468b32e70e736b039261e565c02584cf..0e062e3ac37646ab69868cad539021b49888b04e 100644 (file)
@@ -1282,7 +1282,7 @@ version_t Server::predirty_dn_diri(MDRequest *mdr, CDentry *dn, EMetaBlob *blob)
     inode_t *pi = diri->project_inode();
     if (dirpv) pi->version = dirpv;
     pi->ctime = pi->mtime = mdr->now;
-    blob->add_dir_context(diri->get_parent_dir());
+    blob->add_dir_context(diri->get_parent_dn()->get_dir());
     blob->add_primary_dentry(diri->get_parent_dn(), true, 0, pi);
   } else {
     // journal the mtime change anyway.
index 66ea623ea971abafd64091a68947761edd0209b0..a43a8c179d7bbdd94e13244ba78cb1582ea0b9c9 100644 (file)
@@ -77,7 +77,7 @@ C_Gather *LogSegment::try_to_expire(MDS *mds)
   for (xlist<CDentry*>::iterator p = dirty_dentries.begin(); !p.end(); ++p) 
     commit.insert((*p)->get_dir());
   for (xlist<CInode*>::iterator p = dirty_inodes.begin(); !p.end(); ++p) 
-    commit.insert((*p)->get_parent_dir());
+    commit.insert((*p)->get_parent_dn()->get_dir());
 
   if (!commit.empty()) {
     if (!gather) gather = new C_Gather;