protocol/client: prevent propagation of CHILD_DOWN after pmap query
pmap query results in a new port to which the rpc client reconnects. This involves disconnection of current connection to pmap which was propagating CHILD_DOWN upwards prematurely Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1756 (NFS must revalidate inode on first ESTALE on lookup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1756
This commit is contained in:
parent
91580140b3
commit
c3b6df1a8e
@ -782,6 +782,7 @@ out:
|
||||
STACK_DESTROY (frame->root);
|
||||
|
||||
if (conf) {
|
||||
conf->skip_notify = 1;
|
||||
rpc_transport_disconnect (conf->rpc->conn.trans);
|
||||
|
||||
rpc_clnt_reconnect (conf->rpc->conn.trans);
|
||||
|
@ -1585,7 +1585,10 @@ client_rpc_notify (struct rpc_clnt *rpc, void *mydata, rpc_clnt_event_t event,
|
||||
|
||||
gf_log (this->name, GF_LOG_TRACE, "got RPC_CLNT_DISCONNECT");
|
||||
|
||||
default_notify (this, GF_EVENT_CHILD_DOWN, NULL);
|
||||
if (!conf->skip_notify)
|
||||
default_notify (this, GF_EVENT_CHILD_DOWN, NULL);
|
||||
conf->skip_notify = 0;
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -58,6 +58,7 @@ typedef struct clnt_conf {
|
||||
uint64_t reopen_fd_count; /* Count of fds reopened after a
|
||||
connection is established */
|
||||
gf_lock_t rec_lock;
|
||||
int skip_notify;
|
||||
} clnt_conf_t;
|
||||
|
||||
typedef struct _client_fd_ctx {
|
||||
|
Loading…
x
Reference in New Issue
Block a user