summaryrefslogtreecommitdiffstats
path: root/xlators/nfs/server/src/nfs-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/nfs/server/src/nfs-common.c')
-rw-r--r--xlators/nfs/server/src/nfs-common.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/xlators/nfs/server/src/nfs-common.c b/xlators/nfs/server/src/nfs-common.c
index f74396ee893..07d5382a861 100644
--- a/xlators/nfs/server/src/nfs-common.c
+++ b/xlators/nfs/server/src/nfs-common.c
@@ -77,15 +77,15 @@ nfs_xlator_to_xlid (xlator_list_t *cl, xlator_t *xl)
xlator_t *
nfs_mntpath_to_xlator (xlator_list_t *cl, char *path)
{
- char volname[MNTPATHLEN];
- char *volptr = NULL;
+ char *volname = NULL;
+ char *volptr = NULL;
size_t pathlen;
- xlator_t *targetxl = NULL;
+ xlator_t *targetxl = NULL;
if ((!cl) || (!path))
return NULL;
- strncpy (volname, path, MNTPATHLEN);
+ volname = strdupa (path);
pathlen = strlen (volname);
gf_log (GF_NFS, GF_LOG_TRACE, "Subvolume search: %s", path);
if (volname[0] == '/')
@@ -101,12 +101,9 @@ nfs_mntpath_to_xlator (xlator_list_t *cl, char *path)
targetxl = cl->xlator;
break;
}
-
cl = cl->next;
}
-
return targetxl;
-
}