diff options
Diffstat (limited to 'xlators')
| -rw-r--r-- | xlators/mount/fuse/src/fuse-bridge.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c index 0c409264bf7..a0a09a4ec57 100644 --- a/xlators/mount/fuse/src/fuse-bridge.c +++ b/xlators/mount/fuse/src/fuse-bridge.c @@ -5269,8 +5269,12 @@ fuse_graph_setup (xlator_t *this, glusterfs_graph_t *graph)          pthread_mutex_lock (&priv->sync_mutex);          { -                /* handle the case of more than one CHILD_UP on same graph */ -                if ((priv->active_subvol == graph->top) || graph->used) { +                /* 1. handle the case of more than one CHILD_UP on same graph. +                 * 2. make sure graph is newer than current active_subvol. +                 */ +                if ((priv->active_subvol == graph->top) || graph->used +                    || ((priv->active_subvol) +                        && (priv->active_subvol->graph->id > graph->id))) {                          goto unlock;                  }  | 
