diff options
Diffstat (limited to 'booster/src/booster_fstab.c')
-rw-r--r-- | booster/src/booster_fstab.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/booster/src/booster_fstab.c b/booster/src/booster_fstab.c index dba785b5b4b..0a1282d686b 100644 --- a/booster/src/booster_fstab.c +++ b/booster/src/booster_fstab.c @@ -26,6 +26,9 @@ #include <stdlib.h> #include <libglusterfsclient.h> +/* The default timeout for inode and stat cache. */ +#define BOOSTER_DEFAULT_ATTR_TIMEO 5 /* In Secs */ + /* Prepare to begin reading and/or writing mount table entries from the beginning of FILE. MODE is as for `fopen'. */ glusterfs_fstab_t * @@ -362,6 +365,9 @@ booster_mount (struct glusterfs_mntent *ent) { char *opt = NULL; glusterfs_init_params_t ipars; + time_t timeout = BOOSTER_DEFAULT_ATTR_TIMEO; + char *timeostr = NULL; + char *endptr = NULL; if (!ent) return; @@ -385,6 +391,17 @@ booster_mount (struct glusterfs_mntent *ent) if (opt) ipars.loglevel = get_option_value (opt); + /* Attribute cache timeout */ + opt = glusterfs_fstab_hasoption (ent, "attr_timeout"); + if (opt) { + timeostr = get_option_value (opt); + if (timeostr) + timeout = strtol (timeostr, &endptr, 10); + } + + ipars.lookup_timeout = timeout; + ipars.stat_timeout = timeout; + glusterfs_mount (ent->mnt_dir, &ipars); clean_init_params (&ipars); } |