summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr.h
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/cluster/afr/src/afr.h')
-rw-r--r--xlators/cluster/afr/src/afr.h10
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);