diff options
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c')
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 21 | 
1 files changed, 17 insertions, 4 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 5ff09d5a4ce..d829676228c 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -4964,7 +4964,7 @@ glusterd_nodesvcs_batch_op (glusterd_volinfo_t *volinfo, int (*nfs_op) (),          if (ret)                  goto out; -        if (volinfo && !glusterd_is_volume_replicate (volinfo)) { +        if (volinfo && !glusterd_is_shd_compatible_volume (volinfo)) {                  ; //do nothing          } else {                  ret = shd_op (); @@ -5026,7 +5026,7 @@ glusterd_are_all_volumes_stopped ()  }  gf_boolean_t -glusterd_all_replicate_volumes_stopped () +glusterd_all_shd_compatible_volumes_stopped ()  {          glusterd_conf_t                         *priv = NULL;          xlator_t                                *this = NULL; @@ -5038,7 +5038,7 @@ glusterd_all_replicate_volumes_stopped ()          GF_ASSERT (priv);          list_for_each_entry (voliter, &priv->volumes, vol_list) { -                if (!glusterd_is_volume_replicate (voliter)) +                if (!glusterd_is_shd_compatible_volume (voliter))                          continue;                  if (voliter->status == GLUSTERD_STATUS_STARTED)                          return _gf_false; @@ -5088,7 +5088,7 @@ glusterd_nodesvcs_handle_graph_change (glusterd_volinfo_t *volinfo)                  nfs_op = glusterd_nfs_server_stop;                  qd_op  = glusterd_quotad_stop;          } else { -                if (glusterd_all_replicate_volumes_stopped()) { +                if (glusterd_all_shd_compatible_volumes_stopped()) {                          shd_op = glusterd_shd_stop;                  }                  if (glusterd_all_volumes_with_quota_stopped ()) { @@ -6997,6 +6997,19 @@ glusterd_is_volume_replicate (glusterd_volinfo_t *volinfo)          return replicates;  } +gf_boolean_t +glusterd_is_shd_compatible_volume (glusterd_volinfo_t *volinfo) +{ +        switch (volinfo->type) { +        case GF_CLUSTER_TYPE_REPLICATE: +        case GF_CLUSTER_TYPE_STRIPE_REPLICATE: +        case GF_CLUSTER_TYPE_DISPERSE: +                return _gf_true; + +        } +        return _gf_false; +} +  int  glusterd_set_dump_options (char *dumpoptions_path, char *options,                             int option_cnt)  | 
