diff options
author | Mohammed Rafi KC <rkavunga@redhat.com> | 2019-07-05 20:12:59 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@gmail.com> | 2019-09-05 16:14:44 +0000 |
commit | 43635716e6bd5bd5925fa9194b0853ee919a742d (patch) | |
tree | 985078d45437b1a74f119c762072fe333e92ce06 /libglusterfs/src/libglusterfs.sym | |
parent | d026f0bcfd301712e4f0671ccf238f43f2e6dd30 (diff) | |
download | glusterfs-43635716e6bd5bd5925fa9194b0853ee919a742d.tar.gz glusterfs-43635716e6bd5bd5925fa9194b0853ee919a742d.tar.xz glusterfs-43635716e6bd5bd5925fa9194b0853ee919a742d.zip |
graph/cleanup: Fix race in graph cleanup
We were unconditionally cleaning up the grap when we get
child_down followed by parent_down. But this is prone to
race condition when some of the bricks are already disconnected.
In this case, even before the last child down is executed in the
client xlator code,we might have freed the graph. Because the
child_down event is alreadt recevied.
To fix this race, we have introduced a check to see if all client
xlator have cleared thier reconnect chain, and called the child_down
for last time.
Change-Id: I7d02813bc366dac733a836e0cd7b14a6fac52042
fixes: bz#1727329
Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
Diffstat (limited to 'libglusterfs/src/libglusterfs.sym')
-rw-r--r-- | libglusterfs/src/libglusterfs.sym | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libglusterfs/src/libglusterfs.sym b/libglusterfs/src/libglusterfs.sym index 2e83d3f100..dc7382ba74 100644 --- a/libglusterfs/src/libglusterfs.sym +++ b/libglusterfs/src/libglusterfs.sym @@ -1169,3 +1169,4 @@ glusterfs_process_svc_detach mgmt_is_multiplexed_daemon xlator_is_cleanup_starting gf_nanosleep +graph_total_client_xlator |