diff options
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-ganesha.c | 30 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-op-sm.c | 4 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volume-ops.c | 2 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd.h | 3 | 
4 files changed, 22 insertions, 17 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-ganesha.c b/xlators/mgmt/glusterd/src/glusterd-ganesha.c index f709469b36d..32388056314 100644 --- a/xlators/mgmt/glusterd/src/glusterd-ganesha.c +++ b/xlators/mgmt/glusterd/src/glusterd-ganesha.c @@ -463,7 +463,8 @@ manage_export_config (char *volname, char *value, char **op_errstr)  /* Exports and unexports a particular volume via NFS-Ganesha */  int -ganesha_manage_export (dict_t *dict, char *value, char **op_errstr) +ganesha_manage_export (dict_t *dict, char *value, +                       gf_boolean_t update_cache_invalidation, char **op_errstr)  {          runner_t                 runner = {0,};          int                      ret = -1; @@ -573,17 +574,20 @@ ganesha_manage_export (dict_t *dict, char *value, char **op_errstr)                  }          } -        vol_opts = volinfo->dict; -        ret = dict_set_dynstr_with_alloc (vol_opts, -                                 "features.cache-invalidation", value); -        if (ret) -                gf_asprintf (op_errstr, "Cache-invalidation could not" -                                        " be set to %s.", value); -        ret = glusterd_store_volinfo (volinfo, -                        GLUSTERD_VOLINFO_VER_AC_INCREMENT); -        if (ret) -                gf_asprintf (op_errstr, "failed to store volinfo for %s" -                             , volinfo->volname); +        if (update_cache_invalidation) { +                vol_opts = volinfo->dict; +                ret = dict_set_dynstr_with_alloc (vol_opts, +                                                  "features.cache-invalidation", +                                                  value); +                if (ret) +                        gf_asprintf (op_errstr, "Cache-invalidation could not" +                                                " be set to %s.", value); +                ret = glusterd_store_volinfo (volinfo, +                                              GLUSTERD_VOLINFO_VER_AC_INCREMENT); +                if (ret) +                        gf_asprintf (op_errstr, "failed to store volinfo for %s" +                                     , volinfo->volname); +        }  out:          return ret; @@ -858,7 +862,7 @@ glusterd_handle_ganesha_op (dict_t *dict, char **op_errstr,          if (strcmp (key, "ganesha.enable") == 0) { -                ret =  ganesha_manage_export (dict, value, op_errstr); +                ret =  ganesha_manage_export (dict, value, _gf_true, op_errstr);                  if (ret < 0)                          goto out;          } diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index beee0fdc908..b4846f2c317 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -1069,7 +1069,7 @@ glusterd_op_stage_set_volume (dict_t *dict, char **op_errstr)                  if ((strcmp (key, "ganesha.enable") == 0) &&                      (strcmp (value, "off") == 0)) { -                        ret = ganesha_manage_export (dict, "off", op_errstr); +                        ret = ganesha_manage_export (dict, "off", _gf_true, op_errstr);                          if (ret)                                  goto out;                  } @@ -1512,7 +1512,7 @@ glusterd_op_stage_reset_volume (dict_t *dict, char **op_errstr)           */          if (volinfo && (!strcmp (key, "all") || !strcmp(key, "ganesha.enable"))) {                  if (glusterd_check_ganesha_export (volinfo)) { -                        ret = ganesha_manage_export (dict, "off", op_errstr); +                        ret = ganesha_manage_export (dict, "off", _gf_true, op_errstr);                          if (ret)                                  gf_msg (this->name, GF_LOG_WARNING, 0,                                          GD_MSG_NFS_GNS_RESET_FAIL, diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c index 778579b4440..a2495602cff 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c @@ -1735,7 +1735,7 @@ glusterd_op_stage_stop_volume (dict_t *dict, char **op_errstr)          }          ret = glusterd_check_ganesha_export (volinfo);          if (ret) { -                ret = ganesha_manage_export(dict, "off", op_errstr); +                ret = ganesha_manage_export(dict, "off", _gf_false, op_errstr);                  if (ret) {                          gf_msg (THIS->name, GF_LOG_WARNING, 0,                                  GD_MSG_NFS_GNS_UNEXPRT_VOL_FAIL, "Could not " diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h index b99d433db74..9b70db2d60b 100644 --- a/xlators/mgmt/glusterd/src/glusterd.h +++ b/xlators/mgmt/glusterd/src/glusterd.h @@ -1118,7 +1118,8 @@ int glusterd_check_ganesha_cmd (char *key, char *value,                                  char **errstr, dict_t *dict);  int glusterd_op_stage_set_ganesha (dict_t *dict, char **op_errstr);  int glusterd_op_set_ganesha (dict_t *dict, char **errstr); -int ganesha_manage_export (dict_t *dict, char *value, char **op_errstr); +int ganesha_manage_export (dict_t *dict, char *value, +                           gf_boolean_t update_cache_invalidation, char **op_errstr);  int manage_export_config (char *volname, char *value, char **op_errstr);  gf_boolean_t  | 
