From 93646878e3c7dfb8aed1b17bb1a14643cea8af64 Mon Sep 17 00:00:00 2001 From: sageweil Date: Wed, 28 Mar 2007 03:03:17 +0000 Subject: [PATCH] * mon: default to a ~128 PGs per osd (up from 4!) git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@1310 29311d96-e01e-0410-9327-a35deaab8ce9 --- trunk/ceph/mon/OSDMonitor.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/trunk/ceph/mon/OSDMonitor.cc b/trunk/ceph/mon/OSDMonitor.cc index fe9d54b189de6..8f0ee4484ea4f 100644 --- a/trunk/ceph/mon/OSDMonitor.cc +++ b/trunk/ceph/mon/OSDMonitor.cc @@ -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 -- 2.39.5