diff options
author | Amar Tumballi <amar@gluster.com> | 2011-03-10 00:07:43 +0000 |
---|---|---|
committer | Vijay Bellur <vijay@dev.gluster.com> | 2011-03-09 21:59:52 -0800 |
commit | 5017098718059005e05873aa299a0fb5cb05fa90 (patch) | |
tree | e8516dce164fbb10c25ec52f640552307389f84a /xlators | |
parent | 93845ea7ccc44b79cf2a60526e4759059382f22b (diff) |
fuse: have the 'used' flag set in graph when used for first timev3.1.3qa7
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 2503 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2503
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/mount/fuse/src/fuse-bridge.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c index 1cc9ab10a0d..b3141621bb6 100644 --- a/xlators/mount/fuse/src/fuse-bridge.c +++ b/xlators/mount/fuse/src/fuse-bridge.c @@ -3292,6 +3292,11 @@ fuse_graph_setup (xlator_t *this, glusterfs_graph_t *graph) if (priv->active_subvol == graph->top) return 0; /* This is a valid case */ + if (graph->used) + return 0; + + graph->used = 1; + itable = inode_table_new (0, graph->top); if (!itable) return -1; @@ -3307,6 +3312,9 @@ fuse_graph_setup (xlator_t *this, glusterfs_graph_t *graph) } pthread_mutex_unlock (&priv->sync_mutex); + gf_log ("fuse", GF_LOG_INFO, "switched graph to %d", + ((graph) ? graph->id : 0)); + return ret; } @@ -3328,26 +3336,20 @@ notify (xlator_t *this, int32_t event, void *data, ...) switch (event) { case GF_EVENT_GRAPH_NEW: - /* We get only one GRAPH_NEW event per graph */ + break; + + case GF_EVENT_CHILD_UP: + case GF_EVENT_CHILD_DOWN: + case GF_EVENT_CHILD_CONNECTING: + { if (graph) { ret = fuse_graph_setup (this, graph); if (ret) gf_log (this->name, GF_LOG_WARNING, "failed to setup the graph"); - if (!ret) - gf_log ("fuse", GF_LOG_INFO, - "got event GRAPH-NEW for graph %d", - ((graph) ? graph->id : 0)); } - break; - - case GF_EVENT_CHILD_UP: - case GF_EVENT_CHILD_DOWN: - case GF_EVENT_CHILD_CONNECTING: - { if (event == GF_EVENT_CHILD_UP) { - pthread_mutex_lock (&private->sync_mutex); { private->child_up = 1; |