]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
* mon: default to a ~128 PGs per osd (up from 4!)
authorsageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Wed, 28 Mar 2007 03:03:17 +0000 (03:03 +0000)
committersageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Wed, 28 Mar 2007 03:03:17 +0000 (03:03 +0000)
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@1310 29311d96-e01e-0410-9327-a35deaab8ce9

trunk/ceph/mon/OSDMonitor.cc

index fe9d54b189de6b9431340bf8ac6b35b1b208f79a..8f0ee4484ea4fc0e748f73b27de74786b354a110 100644 (file)
@@ -126,15 +126,20 @@ void OSDMonitor::create_initial()
   if (g_conf.osd_pg_bits) {
     osdmap.set_pg_bits(g_conf.osd_pg_bits);
   } else {
-    int osdbits = 1;
+    // figure out how many bits worth of osds we have.
+    //     1 osd  -> 0 bits
+    //  <= 2 osds -> 1 bit
+    //  <= 4 osds -> 2 bits
+    int osdbits = -1;
     int n = g_conf.num_osd;
+    assert(n > 0);
     while (n) {
       n = n >> 1;
       osdbits++;
     }
 
-    // 2 bits per osd.
-    osdmap.set_pg_bits(osdbits + 2);
+    // 7 bits per osd.
+    osdmap.set_pg_bits(osdbits + 7);
   }
   
   // start at epoch 0 until all osds boot