diff options
author | Raghavendra G <rgowdapp@redhat.com> | 2018-05-30 09:34:44 +0530 |
---|---|---|
committer | Shyamsundar Ranganathan <srangana@redhat.com> | 2018-05-31 20:29:45 +0000 |
commit | 4f591e873c0a38b662910f8e8a5768fd3e9bbeaa (patch) | |
tree | 7814f0246013288f38f5514b146ca7763251b808 /xlators/protocol/client/src/client.h | |
parent | 9ded7a6ff6a1a878771f37962d0107bed56b7e9c (diff) |
protocol/client: Don't send fops till SETVOLUME is completev4.1.0rc0
An earlier commit set conf->connected just after rpc layer sends
RPC_CLNT_CONNECT event. However, success of socket level connection
connection doesn't indicate brick stack is ready to receive fops, as
an handshake has to be done b/w client and server after
RPC_CLNT_CONNECT event. Any fop sent to brick in the window between,
* protocol/client receiving RPC_CLNT_CONNECT event
* protocol/client receiving a successful setvolume response
can end up accessing an uninitialized brick stack. So, set
conf->connected only after a successful SETVOLUME.
Change-Id: I139a03d2da6b0d95a0d68391fcf54b00e749decf
fixes: bz#1584633
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
(cherry picked from commit 430e4872db43447c8a15b638760d23c188257139)
Diffstat (limited to 'xlators/protocol/client/src/client.h')
-rw-r--r-- | xlators/protocol/client/src/client.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/xlators/protocol/client/src/client.h b/xlators/protocol/client/src/client.h index c3c8aaec0dc..5ee480367cb 100644 --- a/xlators/protocol/client/src/client.h +++ b/xlators/protocol/client/src/client.h @@ -235,6 +235,11 @@ typedef struct clnt_conf { gf_boolean_t child_up; /* Set to true, when child is up, and * false, when child is down */ + + gf_boolean_t can_log_disconnect; /* socket level connection is + * up, disconnects can be + * logged + */ } clnt_conf_t; typedef struct _client_fd_ctx { |