diff options
Diffstat (limited to 'glusterfsd')
| -rw-r--r-- | glusterfsd/src/glusterfsd.c | 21 | ||||
| -rw-r--r-- | glusterfsd/src/glusterfsd.h | 1 | 
2 files changed, 22 insertions, 0 deletions
diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c index 968b97c2eac..b2fc944b92a 100644 --- a/glusterfsd/src/glusterfsd.c +++ b/glusterfsd/src/glusterfsd.c @@ -223,6 +223,9 @@ static struct argp_option gf_options[] = {      {"lru-limit", ARGP_FUSE_LRU_LIMIT_KEY, "N", 0,       "Set fuse module's limit for number of inodes kept in LRU list to N "       "[default: 131072]"}, +    {"invalidate-limit", ARGP_FUSE_INVALIDATE_LIMIT_KEY, "N", 0, +     "Suspend inode invalidations implied by 'lru-limit' if the number of " +     "outstanding invalidations reaches N"},      {"background-qlen", ARGP_FUSE_BACKGROUND_QLEN_KEY, "N", 0,       "Set fuse module's background queue length to N "       "[default: 64]"}, @@ -518,6 +521,16 @@ set_fuse_mount_options(glusterfs_ctx_t *ctx, dict_t *options)          }      } +    if (cmd_args->invalidate_limit >= 0) { +        ret = dict_set_int32(options, "invalidate-limit", +                             cmd_args->invalidate_limit); +        if (ret < 0) { +            gf_msg("glusterfsd", GF_LOG_ERROR, 0, glusterfsd_msg_4, +                   "invalidate-limit"); +            goto err; +        } +    } +      if (cmd_args->background_qlen) {          ret = dict_set_int32(options, "background-qlen",                               cmd_args->background_qlen); @@ -1317,6 +1330,14 @@ parse_opts(int key, char *arg, struct argp_state *state)              argp_failure(state, -1, 0, "unknown LRU limit option %s", arg);              break; +        case ARGP_FUSE_INVALIDATE_LIMIT_KEY: +            if (!gf_string2int32(arg, &cmd_args->invalidate_limit)) +                break; + +            argp_failure(state, -1, 0, "unknown invalidate limit option %s", +                         arg); +            break; +          case ARGP_FUSE_BACKGROUND_QLEN_KEY:              if (!gf_string2int(arg, &cmd_args->background_qlen))                  break; diff --git a/glusterfsd/src/glusterfsd.h b/glusterfsd/src/glusterfsd.h index 8a7c034ce40..e87b12bac88 100644 --- a/glusterfsd/src/glusterfsd.h +++ b/glusterfsd/src/glusterfsd.h @@ -114,6 +114,7 @@ enum argp_option_keys {      ARGP_GLOBAL_THREADING_KEY = 192,      ARGP_BRICK_MUX_KEY = 193,      ARGP_FUSE_DEV_EPERM_RATELIMIT_NS_KEY = 194, +    ARGP_FUSE_INVALIDATE_LIMIT_KEY = 195,  };  struct _gfd_vol_top_priv {  | 
