diff options
author | Anand V. Avati <avati@gluster.com> | 2009-04-02 15:51:34 +0530 |
---|---|---|
committer | Anand V. Avati <avati@amp.gluster.com> | 2009-04-02 18:11:39 +0530 |
commit | 522b2bdb540bef4911e0874030d1f9b3003ba104 (patch) | |
tree | 86bba6abb2b9505ea423c6d94903a1a579eade54 | |
parent | 3acfb275879fb8392f8cb4ea2a58766afbc42baa (diff) |
socket_connect() - if socket is already created, do not fail transport_connect() -- causes spurious CHILD_DOWN events to be sent up when reconnect() thread misinterprets the failure of transport_connect() to be an actual teardown of the transport
the spurious CHILD_DOWN events cause self-heal in replicate to not heal files in that subvolume, writev to not modify that subvolume etc, accounting for a lot of discrepencies in replicate which are being in the mailing lists recently.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
-rw-r--r-- | transport/socket/src/socket.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/transport/socket/src/socket.c b/transport/socket/src/socket.c index fe18808a0..14f151cb0 100644 --- a/transport/socket/src/socket.c +++ b/transport/socket/src/socket.c @@ -949,6 +949,7 @@ socket_connect (transport_t *this) if (sock != -1) { gf_log (this->xl->name, GF_LOG_DEBUG, "connect () called on transport already connected"); + ret = 0; goto err; } |