protocol/client: Fix race in brick reconnection
- A race condition exists when reconnecting to a brick after connection
has been lost; it is possible for the client translator to believe the
connection is down while the socket layer believes the connection is up.
This situation is permanent and eventually leads to loss of quorum
and EROFS errors.
- This is a cherry-pick of D3490020 to 3.8
Signed-off-by: Shreyas Siravara <firstname.lastname@example.org>
Reviewed-by: Kevin Vigor <email@example.com>
Tested-by: Shreyas Siravara <firstname.lastname@example.org>
NetBSD-regression: NetBSD Build System <email@example.com>
Smoke: Gluster Build System <firstname.lastname@example.org>
CentOS-regression: Gluster Build System <email@example.com>