From 194ec62165c89a84ad7d36013dd77e981a374c93 Mon Sep 17 00:00:00 2001 From: Pavan Sondur Date: Wed, 25 Aug 2010 06:07:14 +0000 Subject: cluster/afr: Do not issue blocking locks in self-heal. Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati BUG: 960 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=960 --- xlators/cluster/afr/src/afr-self-heal-data.c | 31 +++------------------------- 1 file changed, 3 insertions(+), 28 deletions(-) (limited to 'xlators/cluster/afr/src/afr-self-heal-data.c') diff --git a/xlators/cluster/afr/src/afr-self-heal-data.c b/xlators/cluster/afr/src/afr-self-heal-data.c index 8e87bc555..8e2cb94ad 100644 --- a/xlators/cluster/afr/src/afr-self-heal-data.c +++ b/xlators/cluster/afr/src/afr-self-heal-data.c @@ -924,29 +924,6 @@ afr_sh_data_fxattrop (call_frame_t *frame, xlator_t *this) int afr_sh_data_lock_rec (call_frame_t *frame, xlator_t *this); -int -afr_sh_data_post_blocking_inodelk_cbk (call_frame_t *frame, xlator_t *this) -{ - afr_internal_lock_t *int_lock = NULL; - afr_local_t *local = NULL; - - local = frame->local; - int_lock = &local->internal_lock; - - if (int_lock->lock_op_ret < 0) { - gf_log (this->name, GF_LOG_DEBUG, - "Blocking inodelks failed."); - afr_sh_data_done (frame, this); - } else { - - gf_log (this->name, GF_LOG_DEBUG, - "Blocking inodelks done. Proceeding to FOP"); - afr_sh_data_fxattrop (frame, this); - } - - return 0; -} - int afr_sh_data_post_nonblocking_inodelk_cbk (call_frame_t *frame, xlator_t *this) { @@ -956,16 +933,14 @@ afr_sh_data_post_nonblocking_inodelk_cbk (call_frame_t *frame, xlator_t *this) local = frame->local; int_lock = &local->internal_lock; - /* Initiate blocking locks if non-blocking has failed */ if (int_lock->lock_op_ret < 0) { gf_log (this->name, GF_LOG_DEBUG, - "Non blocking inodelks failed. Proceeding to blocking"); - int_lock->lock_cbk = afr_sh_data_post_blocking_inodelk_cbk; - afr_blocking_lock (frame, this); + "Non Blocking inodelks failed."); + afr_sh_data_done (frame, this); } else { gf_log (this->name, GF_LOG_DEBUG, - "Non blocking inodelks done. Proceeding to FOP"); + "Non Blocking inodelks done. Proceeding to FOP"); afr_sh_data_fxattrop (frame, this); } -- cgit