diff options
Diffstat (limited to 'libglusterfs/src/xlator.c')
-rw-r--r-- | libglusterfs/src/xlator.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c index 9da6d657707..de97dff6dfe 100644 --- a/libglusterfs/src/xlator.c +++ b/libglusterfs/src/xlator.c @@ -1195,3 +1195,29 @@ copy_opts_to_child (xlator_t *src, xlator_t *dst, char *glob) return dict_foreach_fnmatch (src->options, glob, _copy_opt_to_child, dst); } + +int +glusterfs_delete_volfile_checksum (glusterfs_ctx_t *ctx, + const char *volfile_id) { + + gf_volfile_t *volfile_tmp = NULL; + gf_volfile_t *volfile_obj = NULL; + + list_for_each_entry (volfile_tmp, &ctx->volfile_list, + volfile_list) { + if (!strcmp (volfile_id, volfile_tmp->vol_id)) { + list_del_init (&volfile_tmp->volfile_list); + volfile_obj = volfile_tmp; + break; + } + } + + if (volfile_obj) { + GF_FREE (volfile_obj); + } else { + gf_log (THIS->name, GF_LOG_ERROR, "failed to get volfile " + "checksum for volfile id %s.", volfile_id); + } + + return 0; +} |