summaryrefslogtreecommitdiffstats
path: root/glusterfsd/src/glusterfsd.c
diff options
context:
space:
mode:
Diffstat (limited to 'glusterfsd/src/glusterfsd.c')
-rw-r--r--glusterfsd/src/glusterfsd.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c
index ae887e9ce..4ee7689bf 100644
--- a/glusterfsd/src/glusterfsd.c
+++ b/glusterfsd/src/glusterfsd.c
@@ -206,7 +206,22 @@ _gf_dump_details (int argc, char **argv)
fflush (gf_log_logfile);
}
-
+static xlator_t *
+gf_get_first_xlator (xlator_t *list)
+{
+ xlator_t *trav = NULL, *head = NULL;
+
+ trav = list;
+ do {
+ if (trav->prev == NULL) {
+ head = trav;
+ }
+
+ trav = trav->prev;
+ } while (trav != NULL);
+
+ return head;
+}
static xlator_t *
_add_fuse_mount (xlator_t *graph)
@@ -237,7 +252,7 @@ _add_fuse_mount (xlator_t *graph)
}
top->children = xlchild;
top->ctx = graph->ctx;
- top->next = graph;
+ top->next = gf_get_first_xlator (graph);
top->options = get_new_dict ();
ret = dict_set_static_ptr (top->options, ZR_MOUNTPOINT_OPT,