From f138d3fa2237e7fa940ecf17153fd700350c4138 Mon Sep 17 00:00:00 2001 From: Mohit Agrawal Date: Tue, 16 Jul 2019 20:36:57 +0530 Subject: posix: In brick_mux brick is crashed while start/stop volume in loop Problem: In brick_mux environment sometime brick is crashed while volume stop/start in a loop.Brick is crashed in janitor task at the time of accessing priv.If posix priv is cleaned up before call janitor task then janitor task is crashed. Solution: To avoid the crash in brick_mux environment introduce a new flag janitor_task_stop in posix_private and before send CHILD_DOWN event wait for update the flag by janitor_task_done Change-Id: Id9fa5d183a463b2b682774ab5cb9868357d139a4 fixes: bz#1730409 Signed-off-by: Mohit Agrawal --- libglusterfs/src/glusterfs/xlator.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libglusterfs') diff --git a/libglusterfs/src/glusterfs/xlator.h b/libglusterfs/src/glusterfs/xlator.h index cdf9d4e8a5d..6449e59f484 100644 --- a/libglusterfs/src/glusterfs/xlator.h +++ b/libglusterfs/src/glusterfs/xlator.h @@ -858,6 +858,9 @@ struct _xlator { /* Flag to notify got CHILD_DOWN event for detach brick */ uint32_t notify_down; + + /* Flag to avoid throw duplicate PARENT_DOWN event */ + uint32_t parent_down; }; /* This would be the only structure which needs to be exported by -- cgit