diff options
| -rw-r--r-- | libglusterfsclient/src/libglusterfsclient-dentry.c | 15 | ||||
| -rwxr-xr-x | libglusterfsclient/src/libglusterfsclient.c | 12 | 
2 files changed, 12 insertions, 15 deletions
diff --git a/libglusterfsclient/src/libglusterfsclient-dentry.c b/libglusterfsclient/src/libglusterfsclient-dentry.c index 09820457b69..1c8910159af 100644 --- a/libglusterfsclient/src/libglusterfsclient-dentry.c +++ b/libglusterfsclient/src/libglusterfsclient-dentry.c @@ -343,21 +343,6 @@ libgf_client_path_lookup (loc_t *loc,          inode_t    *inode = NULL;          inode_t    *parent = NULL;          int32_t     op_ret = 0; -	loc_t       new_loc = {0, }; - -	/* workaround for xlators like dht which require lookup to be sent  -	   on / */ - -	libgf_client_loc_fill (&new_loc, ctx, 1, 0, "/"); - -	op_ret = libgf_client_lookup (ctx, &new_loc, NULL, NULL, NULL); -	if (op_ret == -1) { -		gf_log ("libglusterfsclient-dentry", -			GF_LOG_ERROR, -			"lookup of / failed"); -		goto out; -	} -	libgf_client_loc_wipe (&new_loc);          pathname  = strdup (loc->path);          directory = dirname (pathname); diff --git a/libglusterfsclient/src/libglusterfsclient.c b/libglusterfsclient/src/libglusterfsclient.c index 0133126cd48..c456eed0719 100755 --- a/libglusterfsclient/src/libglusterfsclient.c +++ b/libglusterfsclient/src/libglusterfsclient.c @@ -961,6 +961,7 @@ glusterfs_init (glusterfs_init_params_t *init_ctx)          int32_t ret = 0;          struct rlimit lim;  	uint32_t xl_count = 0; +        loc_t       new_loc = {0, };          if (!init_ctx || (!init_ctx->specfile && !init_ctx->specfp)) {                  errno = EINVAL; @@ -1261,6 +1262,17 @@ glusterfs_init (glusterfs_init_params_t *init_ctx)          }          pthread_mutex_unlock (&priv->lock); +        /* workaround for xlators like dht which require lookup to be sent +         * on / */ +        libgf_client_loc_fill (&new_loc, ctx, 1, 0, "/"); +        ret = libgf_client_lookup (ctx, &new_loc, NULL, NULL, NULL); +        if (ret == -1) { +                gf_log ("libglusterfsclient", GF_LOG_ERROR, "lookup of /" +                        " failed"); +                return NULL; +        } +        libgf_client_loc_wipe (&new_loc); +  	first_init = 0;          return ctx;  | 
