diff options
| author | Pavan Sondur <pavan@gluster.com> | 2010-08-25 06:07:14 +0000 | 
|---|---|---|
| committer | Anand V. Avati <avati@dev.gluster.com> | 2010-08-26 00:09:11 -0700 | 
| commit | 194ec62165c89a84ad7d36013dd77e981a374c93 (patch) | |
| tree | dd865acdfe3f19bf98e2dc883beff3fa4255d1a6 /xlators/cluster/afr/src/afr-self-heal-data.c | |
| parent | c83b6f73f08eb81788dd1fe35c461b19dc9405df (diff) | |
cluster/afr: Do not issue blocking locks in self-heal.
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 960 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=960
Diffstat (limited to 'xlators/cluster/afr/src/afr-self-heal-data.c')
| -rw-r--r-- | xlators/cluster/afr/src/afr-self-heal-data.c | 31 | 
1 files changed, 3 insertions, 28 deletions
diff --git a/xlators/cluster/afr/src/afr-self-heal-data.c b/xlators/cluster/afr/src/afr-self-heal-data.c index 8e87bc55545..8e2cb94ad7a 100644 --- a/xlators/cluster/afr/src/afr-self-heal-data.c +++ b/xlators/cluster/afr/src/afr-self-heal-data.c @@ -925,29 +925,6 @@ 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)  {          afr_internal_lock_t *int_lock = NULL; @@ -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);          }  | 
