From c0b07bdf5d253cf5620726f149700960e962b8ec Mon Sep 17 00:00:00 2001 From: Anand Avati Date: Wed, 18 Jul 2012 16:28:00 -0700 Subject: fuse-bridge: utilize the option handle framework for double Also make other option initialization code use GF_OPTION_INIT framework for setting options and default values. Change-Id: I68a5c7b674f487fef9d23195654d3a5b2f7b8811 BUG: 841417 Signed-off-by: Anand Avati Reviewed-on: http://review.gluster.com/3698 Tested-by: Gluster Build System Reviewed-by: Amar Tumballi --- xlators/mount/fuse/src/fuse-bridge.c | 86 ++++++++++++++---------------------- 1 file changed, 34 insertions(+), 52 deletions(-) (limited to 'xlators/mount/fuse/src/fuse-bridge.c') diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c index d4ca1d1f6..2accb0a82 100644 --- a/xlators/mount/fuse/src/fuse-bridge.c +++ b/xlators/mount/fuse/src/fuse-bridge.c @@ -4545,30 +4545,19 @@ init (xlator_t *this_xl) goto cleanup_exit; } - ret = dict_get_double (options, "attribute-timeout", - &priv->attribute_timeout); - if (ret != 0) - priv->attribute_timeout = 1.0; /* default */ - - ret = dict_get_double (options, "entry-timeout", - &priv->entry_timeout); - if (ret != 0) - priv->entry_timeout = 1.0; /* default */ - - ret = dict_get_double (options, "negative-timeout", - &priv->negative_timeout); - if (ret != 0) - priv->negative_timeout = 0.0; /* default */ - - ret = dict_get_int32 (options, "client-pid", - &priv->client_pid); - if (ret == 0) - priv->client_pid_set = _gf_true; + GF_OPTION_INIT ("attribute-timeout", priv->attribute_timeout, double, + cleanup_exit); + + GF_OPTION_INIT ("entry-timeout", priv->attribute_timeout, double, + cleanup_exit); + + GF_OPTION_INIT ("negative-timeout", priv->attribute_timeout, double, + cleanup_exit); + + GF_OPTION_INIT ("client-pid", priv->client_pid, int32, cleanup_exit); - ret = dict_get_uint32 (options, "uid-map-root", - &priv->uid_map_root); - if (ret != 0) - priv->uid_map_root = 0; + GF_OPTION_INIT ("uid-map-root", priv->uid_map_root, uint32, + cleanup_exit); priv->direct_io_mode = 2; ret = dict_get_str (options, ZR_DIRECT_IO_OPT, &value_string); @@ -4577,36 +4566,17 @@ init (xlator_t *this_xl) GF_ASSERT (ret == 0); } - priv->strict_volfile_check = 0; - ret = dict_get_str (options, ZR_STRICT_VOLFILE_CHECK, &value_string); - if (ret == 0) { - ret = gf_string2boolean (value_string, - &priv->strict_volfile_check); - GF_ASSERT (ret == 0); - } + GF_OPTION_INIT (ZR_STRICT_VOLFILE_CHECK, priv->strict_volfile_check, + bool, cleanup_exit); + + GF_OPTION_INIT ("acl", priv->acl, bool, cleanup_exit); - priv->acl = 0; - ret = dict_get_str (options, "acl", &value_string); - if (ret == 0) { - ret = gf_string2boolean (value_string, &priv->acl); - GF_ASSERT (ret == 0); - } if (priv->uid_map_root) priv->acl = 1; - priv->selinux = 0; - ret = dict_get_str (options, "selinux", &value_string); - if (ret == 0) { - ret = gf_string2boolean (value_string, &priv->selinux); - GF_ASSERT (ret == 0); - } + GF_OPTION_INIT ("selinux", priv->selinux, bool, cleanup_exit); - priv->read_only = 0; - ret = dict_get_str (options, "read-only", &value_string); - if (ret == 0) { - ret = gf_string2boolean (value_string, &priv->read_only); - GF_ASSERT (ret == 0); - } + GF_OPTION_INIT ("read-only", priv->read_only, bool, cleanup_exit); priv->fuse_dump_fd = -1; ret = dict_get_str (options, "dump-fuse", &value_string); @@ -4785,16 +4755,20 @@ struct volume_options options[] = { .type = GF_OPTION_TYPE_PATH }, { .key = {ZR_ATTR_TIMEOUT_OPT}, - .type = GF_OPTION_TYPE_DOUBLE + .type = GF_OPTION_TYPE_DOUBLE, + .default_value = "1.0" }, { .key = {ZR_ENTRY_TIMEOUT_OPT}, - .type = GF_OPTION_TYPE_DOUBLE + .type = GF_OPTION_TYPE_DOUBLE, + .default_value = "1.0" }, { .key = {ZR_NEGATIVE_TIMEOUT_OPT}, - .type = GF_OPTION_TYPE_DOUBLE + .type = GF_OPTION_TYPE_DOUBLE, + .default_value = "0.0" }, { .key = {ZR_STRICT_VOLFILE_CHECK}, - .type = GF_OPTION_TYPE_BOOL + .type = GF_OPTION_TYPE_BOOL, + .default_value = "false" }, { .key = {"client-pid"}, .type = GF_OPTION_TYPE_INT @@ -4816,5 +4790,13 @@ struct volume_options options[] = { .type = GF_OPTION_TYPE_INT, .default_value = "0" }, + { .key = {"acl"}, + .type = GF_OPTION_TYPE_BOOL, + .default_value = "false" + }, + { .key = {"selinux"}, + .type = GF_OPTION_TYPE_BOOL, + .default_value = "false" + }, { .key = {NULL} }, }; -- cgit