osd_min_pg_size_without_alive: 2, // smallest pg we allow to activate without telling the monitor
osd_pg_bits: 6, // bits per osd
+ osd_lpg_bits: 1, // bits per osd
osd_object_layout: CEPH_OBJECT_LAYOUT_HASHINO,//LINEAR,//HASHINO,
osd_pg_layout: CEPH_PG_LAYOUT_CRUSH,//LINEAR,//CRUSH,
osd_min_rep: 2,
int osd_min_pg_size_without_alive;
int osd_pg_bits;
+ int osd_lpg_bits;
int osd_object_layout;
int osd_pg_layout;
int osd_min_rep;
void OSDMap::build_simple(epoch_t e, ceph_fsid &fsid,
- int num_osd, int pg_bits, int mds_local_osd)
+ int num_osd, int pg_bits, int lpg_bits,
+ int mds_local_osd)
{
dout(10) << "build_simple on " << num_osd
- << " osds with " << pg_bits << " pg bits per osd" << dendl;
+ << " osds with " << pg_bits << " pg bits per osd, "
+ << lpg_bits << " lpg bits" << dendl;
epoch = e;
set_fsid(fsid);
ctime = g_clock.now();
set_max_osd(num_osd);
pg_num = pgp_num = num_osd << pg_bits;
-
+ lpg_num = lpgp_num = lpg_bits ? (1 << (lpg_bits-1)) : 0;
+
// crush map
build_simple_crush_map(crush, num_osd);
* handy helpers to build simple maps...
*/
void build_simple(epoch_t e, ceph_fsid &fsid,
- int num_osd, int pg_bits, int mds_local_osd);
+ int num_osd, int pg_bits, int lpg_bits,
+ int mds_local_osd);
static void build_simple_crush_map(CrushWrapper& crush, int num_osd);
};
const char *monmapfn = 0;
int num_osd = 0;
int pg_bits = g_conf.osd_pg_bits;
+ int lpg_bits = g_conf.osd_lpg_bits;
bool clobber = false;
bool modified = false;
const char *export_crush = 0;
num_osd = atoi(args[++i]);
} else if (strcmp(args[i], "--clobber") == 0)
clobber = true;
- else if (strcmp(args[i], "--pgbits") == 0)
+ else if (strcmp(args[i], "--pg_bits") == 0)
pg_bits = atoi(args[++i]);
+ else if (strcmp(args[i], "--lpg_bits") == 0)
+ lpg_bits = atoi(args[++i]);
else if (strcmp(args[i], "--export-crush") == 0)
export_crush = args[++i];
else if (strcmp(args[i], "--import-crush") == 0)
cerr << me << ": osd count must be > 0" << std::endl;
exit(1);
}
- osdmap.build_simple(0, monmap.fsid, num_osd, pg_bits, 0);
+ osdmap.build_simple(0, monmap.fsid, num_osd, pg_bits, lpg_bits, 0);
modified = true;
}