]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: Add config option for log segment size
authorSam Lang <sam.lang@inktank.com>
Wed, 6 Mar 2013 17:40:49 +0000 (11:40 -0600)
committerSam Lang <sam.lang@inktank.com>
Sat, 16 Mar 2013 16:45:36 +0000 (11:45 -0500)
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 <sam.lang@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
src/common/config_opts.h
src/mds/MDCache.cc

index 8e87f6f07ae27bed7d48ef7d94492a662230a2c6..e99688342b7afe515e415f5124651dd603150b84 100644 (file)
@@ -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)
index de256975651d7c51893bb12341406f7b8ac5ff18..e085ab6c998a16db17181899ef9bb18b49f1e119 100644 (file)
@@ -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)