diff options
Diffstat (limited to 'libglusterfs/src/xlator.c')
| -rw-r--r-- | libglusterfs/src/xlator.c | 29 | 
1 files changed, 5 insertions, 24 deletions
diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c index 3fb6eeebb09..7f29d180a2d 100644 --- a/libglusterfs/src/xlator.c +++ b/libglusterfs/src/xlator.c @@ -119,18 +119,9 @@ xlator_volopt_dynload (char *xlator_type, void **dl_handle,          int                     ret = -1;          char                    *name = NULL;          void                    *handle = NULL; -        volume_opt_list_t       *vol_opt = NULL;          GF_VALIDATE_OR_GOTO ("xlator", xlator_type, out); -        GF_ASSERT (dl_handle); - -        if (*dl_handle) -                if (dlclose (*dl_handle)) -                        gf_log ("xlator", GF_LOG_WARNING, "Unable to close " -                                  "previously opened handle( may be stale)." -                                  "Ignoring the invalid handle"); -          ret = gf_asprintf (&name, "%s/%s.so", XLATORDIR, xlator_type);          if (-1 == ret) {                  gf_log ("xlator", GF_LOG_ERROR, "asprintf failed"); @@ -146,25 +137,15 @@ xlator_volopt_dynload (char *xlator_type, void **dl_handle,                  gf_log ("xlator", GF_LOG_WARNING, "%s", dlerror ());                  goto out;          } -        *dl_handle = handle; - -        vol_opt = GF_CALLOC (1, sizeof (volume_opt_list_t), -                         gf_common_mt_volume_opt_list_t); - -        if (!vol_opt) { -                goto out; -        } - -        if (!(vol_opt->given_opt = dlsym (handle, "options"))) { +        if (!(opt_list->given_opt = dlsym (handle, "options"))) {                  dlerror (); -                gf_log ("xlator", GF_LOG_DEBUG, -                         "Strict option validation not enforced -- neglecting"); +                gf_log ("xlator", GF_LOG_ERROR, +                        "Failed to load xlator opt table"); +                goto out;          } -        opt_list->given_opt = vol_opt->given_opt; -        INIT_LIST_HEAD (&vol_opt->list); -        list_add_tail (&vol_opt->list, &opt_list->list); +        *dl_handle = handle;          ret = 0;   out:  | 
