diff options
Diffstat (limited to 'xlators/cluster/afr/src/afr.h')
-rw-r--r-- | xlators/cluster/afr/src/afr.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/xlators/cluster/afr/src/afr.h b/xlators/cluster/afr/src/afr.h index f0cb32c12b1..87b557bcb1e 100644 --- a/xlators/cluster/afr/src/afr.h +++ b/xlators/cluster/afr/src/afr.h @@ -335,6 +335,9 @@ afr_index_for_transaction_type (afr_transaction_type type) typedef struct { loc_t *lk_loc; struct gf_flock lk_flock; + gf_lkowner_t fop_lkowner; /* 'copy' of fop's lk_owner to protect + against afr internal locks 'irreversibly' + overloading lk_owner.*/ const char *lk_basename; const char *lower_basename; @@ -769,7 +772,12 @@ afr_mark_locked_nodes (xlator_t *this, fd_t *fd, unsigned char *locked_nodes); void -afr_set_lk_owner (call_frame_t *frame, xlator_t *this); +afr_set_lk_owner (call_frame_t *frame, xlator_t *this, + afr_internal_lock_t *int_lock); + +void +afr_unset_lk_owner (call_frame_t *frame, xlator_t *this, + afr_internal_lock_t *int_lock); int afr_set_lock_number (call_frame_t *frame, xlator_t *this); |