From: Sam Lang Date: Wed, 6 Mar 2013 17:40:49 +0000 (-0600) Subject: mds: Add config option for log segment size X-Git-Tag: v0.60~47 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ba5c935e78f70674e7661576b1c18e211a2f32a2;p=ceph.git mds: Add config option for log segment size The mds log segment size is chosen from the default layout object size (4MB). Add a parameter to the config to enable setting the log segment size to an alternate value. If the config option to set the journal log segment size is specified, the log layout must be modified both for the object size and the striping unit size. Signed-off-by: Sam Lang Reviewed-by: Greg Farnum --- diff --git a/src/common/config_opts.h b/src/common/config_opts.h index 8e87f6f07ae..e99688342b7 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -261,7 +261,9 @@ OPTION(mds_default_dir_hash, OPT_INT, CEPH_STR_HASH_RJENKINS) OPTION(mds_log, OPT_BOOL, true) OPTION(mds_log_skip_corrupt_events, OPT_BOOL, false) OPTION(mds_log_max_events, OPT_INT, -1) -OPTION(mds_log_max_segments, OPT_INT, 30) // segment size defined by FileLayout, above +OPTION(mds_log_segment_size, OPT_INT, 0) // segment size for mds log, + // defaults to g_default_file_layout.fl_object_size (4MB) +OPTION(mds_log_max_segments, OPT_INT, 30) OPTION(mds_log_max_expiring, OPT_INT, 20) OPTION(mds_bal_sample_interval, OPT_FLOAT, 3.0) // every 5 seconds OPTION(mds_bal_replicate_threshold, OPT_FLOAT, 8000) diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index de256975651..e085ab6c998 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -269,6 +269,10 @@ void MDCache::init_layouts() default_log_layout = g_default_file_layout; default_log_layout.fl_pg_pool = mds->mdsmap->get_metadata_pool(); + if (g_conf->mds_log_segment_size > 0) { + default_log_layout.fl_object_size = g_conf->mds_log_segment_size; + default_log_layout.fl_stripe_unit = g_conf->mds_log_segment_size; + } } CInode *MDCache::create_system_inode(inodeno_t ino, int mode)