Commit 707cbe8d authored by Edward Shishkin's avatar Edward Shishkin Committed by james toy

Address a gcc warning for x86_64 about large frame size.

Add a new function push_sb_field_opts().

Signed-off-by Edward Shsihkin <edward.shishkin@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent fb6af9f2
......@@ -292,66 +292,6 @@ static int parse_options(char *opt_string, struct opt_desc *opts, int nr_opts)
#define MAX_NR_OPTIONS (30)
/**
* reiser4_init_super_data - initialize reiser4 private super block
* @super: super block to initialize
* @opt_string: list of reiser4 mount options
*
* Sets various reiser4 parameters to default values. Parses mount options and
* overwrites default settings.
*/
int reiser4_init_super_data(struct super_block *super, char *opt_string)
{
int result;
struct opt_desc *opts, *p;
reiser4_super_info_data *sbinfo = get_super_private(super);
/* initialize super, export, dentry operations */
sbinfo->ops.super = reiser4_super_operations;
sbinfo->ops.export = reiser4_export_operations;
sbinfo->ops.dentry = reiser4_dentry_operations;
super->s_op = &sbinfo->ops.super;
super->s_export_op = &sbinfo->ops.export;
/* initialize transaction manager parameters to default values */
sbinfo->tmgr.atom_max_size = totalram_pages / 4;
sbinfo->tmgr.atom_max_age = REISER4_ATOM_MAX_AGE / HZ;
sbinfo->tmgr.atom_min_size = 256;
sbinfo->tmgr.atom_max_flushers = ATOM_MAX_FLUSHERS;
/* initialize cbk cache parameter */
sbinfo->tree.cbk_cache.nr_slots = CBK_CACHE_SLOTS;
/* initialize flush parameters */
sbinfo->flush.relocate_threshold = FLUSH_RELOCATE_THRESHOLD;
sbinfo->flush.relocate_distance = FLUSH_RELOCATE_DISTANCE;
sbinfo->flush.written_threshold = FLUSH_WRITTEN_THRESHOLD;
sbinfo->flush.scan_maxnodes = FLUSH_SCAN_MAXNODES;
sbinfo->optimal_io_size = REISER4_OPTIMAL_IO_SIZE;
/* preliminary tree initializations */
sbinfo->tree.super = super;
sbinfo->tree.carry.new_node_flags = REISER4_NEW_NODE_FLAGS;
sbinfo->tree.carry.new_extent_flags = REISER4_NEW_EXTENT_FLAGS;
sbinfo->tree.carry.paste_flags = REISER4_PASTE_FLAGS;
sbinfo->tree.carry.insert_flags = REISER4_INSERT_FLAGS;
rwlock_init(&(sbinfo->tree.tree_lock));
spin_lock_init(&(sbinfo->tree.epoch_lock));
/* initialize default readahead params */
sbinfo->ra_params.max = num_physpages / 4;
sbinfo->ra_params.flags = 0;
/* allocate memory for structure describing reiser4 mount options */
opts = kmalloc(sizeof(struct opt_desc) * MAX_NR_OPTIONS,
reiser4_ctx_gfp_mask_get());
if (opts == NULL)
return RETERR(-ENOMEM);
/* initialize structure describing reiser4 mount options */
p = opts;
#if REISER4_DEBUG
# define OPT_ARRAY_CHECK if ((p) > (opts) + MAX_NR_OPTIONS) { \
warning("zam-1046", "opt array is overloaded"); break; \
......@@ -370,6 +310,10 @@ do { \
#define PUSH_SB_FIELD_OPT(field, format) PUSH_OPT(SB_FIELD_OPT(field, format))
#define PUSH_BIT_OPT(name, bit) PUSH_OPT(BIT_OPT(name, bit))
static noinline void push_sb_field_opts(struct opt_desc *p,
struct opt_desc *opts,
reiser4_super_info_data *sbinfo)
{
/*
* tmgr.atom_max_size=N
* Atoms containing more than N blocks will be forced to commit. N is
......@@ -435,7 +379,69 @@ do { \
*/
PUSH_SB_FIELD_OPT(altsuper, "%lu");
#endif
}
/**
* reiser4_init_super_data - initialize reiser4 private super block
* @super: super block to initialize
* @opt_string: list of reiser4 mount options
*
* Sets various reiser4 parameters to default values. Parses mount options and
* overwrites default settings.
*/
int reiser4_init_super_data(struct super_block *super, char *opt_string)
{
int result;
struct opt_desc *opts, *p;
reiser4_super_info_data *sbinfo = get_super_private(super);
/* initialize super, export, dentry operations */
sbinfo->ops.super = reiser4_super_operations;
sbinfo->ops.export = reiser4_export_operations;
sbinfo->ops.dentry = reiser4_dentry_operations;
super->s_op = &sbinfo->ops.super;
super->s_export_op = &sbinfo->ops.export;
/* initialize transaction manager parameters to default values */
sbinfo->tmgr.atom_max_size = totalram_pages / 4;
sbinfo->tmgr.atom_max_age = REISER4_ATOM_MAX_AGE / HZ;
sbinfo->tmgr.atom_min_size = 256;
sbinfo->tmgr.atom_max_flushers = ATOM_MAX_FLUSHERS;
/* initialize cbk cache parameter */
sbinfo->tree.cbk_cache.nr_slots = CBK_CACHE_SLOTS;
/* initialize flush parameters */
sbinfo->flush.relocate_threshold = FLUSH_RELOCATE_THRESHOLD;
sbinfo->flush.relocate_distance = FLUSH_RELOCATE_DISTANCE;
sbinfo->flush.written_threshold = FLUSH_WRITTEN_THRESHOLD;
sbinfo->flush.scan_maxnodes = FLUSH_SCAN_MAXNODES;
sbinfo->optimal_io_size = REISER4_OPTIMAL_IO_SIZE;
/* preliminary tree initializations */
sbinfo->tree.super = super;
sbinfo->tree.carry.new_node_flags = REISER4_NEW_NODE_FLAGS;
sbinfo->tree.carry.new_extent_flags = REISER4_NEW_EXTENT_FLAGS;
sbinfo->tree.carry.paste_flags = REISER4_PASTE_FLAGS;
sbinfo->tree.carry.insert_flags = REISER4_INSERT_FLAGS;
rwlock_init(&(sbinfo->tree.tree_lock));
spin_lock_init(&(sbinfo->tree.epoch_lock));
/* initialize default readahead params */
sbinfo->ra_params.max = num_physpages / 4;
sbinfo->ra_params.flags = 0;
/* allocate memory for structure describing reiser4 mount options */
opts = kmalloc(sizeof(struct opt_desc) * MAX_NR_OPTIONS,
reiser4_ctx_gfp_mask_get());
if (opts == NULL)
return RETERR(-ENOMEM);
/* initialize structure describing reiser4 mount options */
p = opts;
push_sb_field_opts(p, opts, sbinfo);
/* turn on BSD-style gid assignment */
PUSH_BIT_OPT("bsdgroups", REISER4_BSD_GID);
/* turn on 32 bit times */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment