path: root/extras
diff options
authorKrishnan Parthasarathi <>2012-01-11 15:39:38 +0530
committerVijay Bellur <>2012-02-03 07:40:46 -0800
commit3ec7680a70bcace6b195ae412362b7e1b072eaeb (patch)
tree3b67cb58722f5a9ed3abca98c011e654c649b359 /extras
parent2313600f0749094f1246e663a0db15da3c2812db (diff)
glusterd: Changed op_sm_queue locking mechanism to accomodate nested calls to op_sm
Today if an rpc call made inside an op_sm can fail due to a disconnected peer, resulting in the rpc callback to be called in the same stack with appropriate status set. All glusterd rpc cbks move the state machine based on the status returned by the rpc layer, which would result in a nested call to op_sm. With the current scheme of locking, glusterd would end up in a deadlock situation The new scheme will fail the nested glusterd_op_sm (). This prevents the deadlock. It would work without any change in overall behaviour, as the current op_sm () call in execution wouldn't return until all events in the queue are processed. Change-Id: I6a7ba16d3810b699bcd06dc28a5ff3205a25476f BUG: 772142 Signed-off-by: Krishnan Parthasarathi <> Reviewed-on: Tested-by: Gluster Build System <> Reviewed-by: Amar Tumballi <> Reviewed-by: Vijay Bellur <>
Diffstat (limited to 'extras')
0 files changed, 0 insertions, 0 deletions