diff options
author | Raghavendra G <raghavendra@gluster.com> | 2010-01-06 20:18:47 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2010-01-14 23:23:42 -0800 |
commit | a1965b73da712644d1536d0dac3212041de5eb0c (patch) | |
tree | 1acd052ce298341ece06df1c1133965e9d81e040 | |
parent | 7317a250caa96b00072a8a7cb2b2c18016e8a8d2 (diff) |
cluster/unify: don't call xl_init_tree on namespace node.
- just before xl_init_tree call on namespace, unify node is set as parent of
namespace node and since xl->ready of unify node is set only after return
from init call, calling xl_init_tree on namespace node will result in
execution of init of unify node for the second time. This results in
following bugs:
* since during second execution, parent of namespace node is unify, init of
unify xlator fails.
* even if init did not fail, re-execution of init in itself is bad, since it
results in memory leaks etc. Worse, it can result in infinite recursive
calls into init of unify node.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 518 (unify does not start)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=518
-rw-r--r-- | xlators/cluster/unify/src/unify.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/xlators/cluster/unify/src/unify.c b/xlators/cluster/unify/src/unify.c index 88ae4ca84..6ce31da9d 100644 --- a/xlators/cluster/unify/src/unify.c +++ b/xlators/cluster/unify/src/unify.c @@ -4458,17 +4458,6 @@ init (xlator_t *this) parent = parent->next; parent->next = xlparent; } - /* Initialize the namespace volume */ - if (!ns_xl->ready) { - ret = xlator_tree_init (ns_xl); - if (ret) { - gf_log (this->name, GF_LOG_ERROR, - "initializing namespace node failed, " - "Exiting"); - FREE (_private); - return -1; - } - } } /* Tell namespace node that init is done */ |