d1681e
From a33f967c77ccf580db42a9f02708fa39f5d7f310 Mon Sep 17 00:00:00 2001
d1681e
From: Pranith Kumar K <pkarampu@redhat.com>
d1681e
Date: Fri, 2 Mar 2018 12:37:42 +0530
d1681e
Subject: [PATCH 193/201] cluster/afr: Remove unused code paths
d1681e
d1681e
Removed
d1681e
1) afr-v1 self-heal locks related code which is not used anymore
d1681e
2) transaction has some data types that are not needed, so removed them
d1681e
3) Never used lock tracing available in afr as gluster's network tracing does
d1681e
the job. So removed that as well.
d1681e
4) Changelog is always enabled and afr is always used with locks, so
d1681e
__changelog_enabled, afr_lock_server_count etc functions can be deleted.
d1681e
5) transaction.fop/done/resume always call the same functions, so no need
d1681e
to have these variables.
d1681e
d1681e
 > BUG: 1549606
d1681e
d1681e
Upstream-patch: https://review.gluster.org/19661
d1681e
BUG: 1491785
d1681e
Change-Id: I370c146fec2892d40e674d232a5d7256e003c7f1
d1681e
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
d1681e
Reviewed-on: https://code.engineering.redhat.com/gerrit/131944
d1681e
Tested-by: RHGS Build Bot <nigelb@redhat.com>
d1681e
---
d1681e
 xlators/cluster/afr/src/afr-common.c      |  10 +-
d1681e
 xlators/cluster/afr/src/afr-dir-write.c   |  18 +-
d1681e
 xlators/cluster/afr/src/afr-inode-write.c |  39 +--
d1681e
 xlators/cluster/afr/src/afr-lk-common.c   | 508 +-----------------------------
d1681e
 xlators/cluster/afr/src/afr-transaction.c | 137 +-------
d1681e
 xlators/cluster/afr/src/afr-transaction.h |   2 -
d1681e
 xlators/cluster/afr/src/afr.c             |  35 +-
d1681e
 xlators/cluster/afr/src/afr.h             |  52 +--
d1681e
 8 files changed, 41 insertions(+), 760 deletions(-)
d1681e
d1681e
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c
d1681e
index 04c8613..06863b6 100644
d1681e
--- a/xlators/cluster/afr/src/afr-common.c
d1681e
+++ b/xlators/cluster/afr/src/afr-common.c
d1681e
@@ -4526,9 +4526,6 @@ afr_priv_dump (xlator_t *this)
d1681e
         gf_proc_dump_write("data_self_heal", "%s", priv->data_self_heal);
d1681e
         gf_proc_dump_write("metadata_self_heal", "%d", priv->metadata_self_heal);
d1681e
         gf_proc_dump_write("entry_self_heal", "%d", priv->entry_self_heal);
d1681e
-        gf_proc_dump_write("data_change_log", "%d", priv->data_change_log);
d1681e
-        gf_proc_dump_write("metadata_change_log", "%d", priv->metadata_change_log);
d1681e
-        gf_proc_dump_write("entry-change_log", "%d", priv->entry_change_log);
d1681e
         gf_proc_dump_write("read_child", "%d", priv->read_child);
d1681e
         gf_proc_dump_write("favorite_child", "%d", priv->favorite_child);
d1681e
         gf_proc_dump_write("wait_count", "%u", priv->wait_count);
d1681e
@@ -5252,8 +5249,7 @@ out:
d1681e
 }
d1681e
 
d1681e
 int
d1681e
-afr_internal_lock_init (afr_internal_lock_t *lk, size_t child_count,
d1681e
-                        transaction_lk_type_t lk_type)
d1681e
+afr_internal_lock_init (afr_internal_lock_t *lk, size_t child_count)
d1681e
 {
d1681e
         int             ret = -ENOMEM;
d1681e
 
d1681e
@@ -5269,7 +5265,6 @@ afr_internal_lock_init (afr_internal_lock_t *lk, size_t child_count,
d1681e
 
d1681e
         lk->lock_op_ret   = -1;
d1681e
         lk->lock_op_errno = EUCLEAN;
d1681e
-        lk->transaction_lk_type = lk_type;
d1681e
 
d1681e
         ret = 0;
d1681e
 out:
d1681e
@@ -5336,8 +5331,7 @@ afr_transaction_local_init (afr_local_t *local, xlator_t *this)
d1681e
         afr_private_t *priv = NULL;
d1681e
 
d1681e
         priv = this->private;
d1681e
-        ret = afr_internal_lock_init (&local->internal_lock, priv->child_count,
d1681e
-                                      AFR_TRANSACTION_LK);
d1681e
+        ret = afr_internal_lock_init (&local->internal_lock, priv->child_count);
d1681e
         if (ret < 0)
d1681e
                 goto out;
d1681e
 
d1681e
diff --git a/xlators/cluster/afr/src/afr-dir-write.c b/xlators/cluster/afr/src/afr-dir-write.c
d1681e
index e088ed6..75889de 100644
d1681e
--- a/xlators/cluster/afr/src/afr-dir-write.c
d1681e
+++ b/xlators/cluster/afr/src/afr-dir-write.c
d1681e
@@ -267,7 +267,7 @@ __afr_dir_write_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
d1681e
 
d1681e
 		afr_mark_entry_pending_changelog (frame, this);
d1681e
 
d1681e
-                local->transaction.resume (frame, this);
d1681e
+                afr_transaction_resume (frame, this);
d1681e
         }
d1681e
 
d1681e
         return 0;
d1681e
@@ -496,8 +496,6 @@ afr_create (call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t flags,
d1681e
 		goto out;
d1681e
 
d1681e
         local->transaction.wind   = afr_create_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_create_unwind;
d1681e
 
d1681e
         ret = afr_build_parent_loc (&local->transaction.parent_loc, loc,
d1681e
@@ -626,8 +624,6 @@ afr_mknod (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
d1681e
 		goto out;
d1681e
 
d1681e
         local->transaction.wind   = afr_mknod_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_mknod_unwind;
d1681e
 
d1681e
         ret = afr_build_parent_loc (&local->transaction.parent_loc, loc,
d1681e
@@ -762,8 +758,6 @@ afr_mkdir (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode,
d1681e
 
d1681e
         local->op = GF_FOP_MKDIR;
d1681e
         local->transaction.wind   = afr_mkdir_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_mkdir_unwind;
d1681e
 
d1681e
         ret = afr_build_parent_loc (&local->transaction.parent_loc, loc,
d1681e
@@ -891,8 +885,6 @@ afr_link (call_frame_t *frame, xlator_t *this, loc_t *oldloc, loc_t *newloc,
d1681e
         local->op = GF_FOP_LINK;
d1681e
 
d1681e
         local->transaction.wind   = afr_link_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_link_unwind;
d1681e
 
d1681e
         ret = afr_build_parent_loc (&local->transaction.parent_loc, newloc,
d1681e
@@ -1021,8 +1013,6 @@ afr_symlink (call_frame_t *frame, xlator_t *this, const char *linkpath,
d1681e
 
d1681e
         local->op = GF_FOP_SYMLINK;
d1681e
         local->transaction.wind   = afr_symlink_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_symlink_unwind;
d1681e
 
d1681e
         ret = afr_build_parent_loc (&local->transaction.parent_loc, loc,
d1681e
@@ -1156,8 +1146,6 @@ afr_rename (call_frame_t *frame, xlator_t *this, loc_t *oldloc, loc_t *newloc,
d1681e
 
d1681e
         local->op = GF_FOP_RENAME;
d1681e
         local->transaction.wind   = afr_rename_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_rename_unwind;
d1681e
 
d1681e
         ret = afr_build_parent_loc (&local->transaction.parent_loc, oldloc,
d1681e
@@ -1308,8 +1296,6 @@ afr_unlink (call_frame_t *frame, xlator_t *this, loc_t *loc, int xflag,
d1681e
 
d1681e
         local->op = GF_FOP_UNLINK;
d1681e
         local->transaction.wind   = afr_unlink_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_unlink_unwind;
d1681e
 
d1681e
         ret = afr_build_parent_loc (&local->transaction.parent_loc, loc,
d1681e
@@ -1436,8 +1422,6 @@ afr_rmdir (call_frame_t *frame, xlator_t *this, loc_t *loc, int flags,
d1681e
 
d1681e
         local->op = GF_FOP_RMDIR;
d1681e
         local->transaction.wind   = afr_rmdir_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_rmdir_unwind;
d1681e
 
d1681e
         ret = afr_build_parent_loc (&local->transaction.parent_loc, loc,
d1681e
diff --git a/xlators/cluster/afr/src/afr-inode-write.c b/xlators/cluster/afr/src/afr-inode-write.c
d1681e
index 0e50443..2402bb2 100644
d1681e
--- a/xlators/cluster/afr/src/afr-inode-write.c
d1681e
+++ b/xlators/cluster/afr/src/afr-inode-write.c
d1681e
@@ -207,7 +207,7 @@ __afr_inode_write_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
d1681e
                         local->transaction.unwind (frame, this);
d1681e
                 }
d1681e
 
d1681e
-                local->transaction.resume (frame, this);
d1681e
+                afr_transaction_resume (frame, this);
d1681e
         }
d1681e
 
d1681e
         return 0;
d1681e
@@ -357,13 +357,10 @@ afr_writev_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
d1681e
                      int32_t op_ret, int32_t op_errno, struct iatt *prebuf,
d1681e
                      struct iatt *postbuf, dict_t *xdata)
d1681e
 {
d1681e
-        afr_local_t     *local = NULL;
d1681e
         call_frame_t    *fop_frame = NULL;
d1681e
         int child_index = (long) cookie;
d1681e
         int call_count  = -1;
d1681e
 
d1681e
-        local = frame->local;
d1681e
-
d1681e
         afr_inode_write_fill (frame, this, child_index, op_ret, op_errno,
d1681e
                               prebuf, postbuf, xdata);
d1681e
 
d1681e
@@ -374,7 +371,7 @@ afr_writev_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
d1681e
 
d1681e
                 if (!afr_txn_nothing_failed (frame, this)) {
d1681e
                         //Don't unwind until post-op is complete
d1681e
-                        local->transaction.resume (frame, this);
d1681e
+                        afr_transaction_resume (frame, this);
d1681e
                 } else {
d1681e
                 /*
d1681e
                  * Generally inode-write fops do transaction.unwind then
d1681e
@@ -389,7 +386,7 @@ afr_writev_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
d1681e
 
d1681e
                         fop_frame = afr_transaction_detach_fop_frame (frame);
d1681e
                         afr_writev_copy_outvars (frame, fop_frame);
d1681e
-                        local->transaction.resume (frame, this);
d1681e
+                        afr_transaction_resume (frame, this);
d1681e
                         afr_writev_unwind (fop_frame, this);
d1681e
                 }
d1681e
         }
d1681e
@@ -462,8 +459,6 @@ afr_do_writev (call_frame_t *frame, xlator_t *this)
d1681e
         local->op = GF_FOP_WRITE;
d1681e
 
d1681e
         local->transaction.wind   = afr_writev_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_transaction_writev_unwind;
d1681e
 
d1681e
         local->transaction.main_frame = frame;
d1681e
@@ -652,8 +647,6 @@ afr_truncate (call_frame_t *frame, xlator_t *this,
d1681e
 		goto out;
d1681e
 
d1681e
 	local->transaction.wind   = afr_truncate_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_truncate_unwind;
d1681e
 
d1681e
         loc_copy (&local->loc, loc);
d1681e
@@ -780,8 +773,6 @@ afr_ftruncate (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset,
d1681e
         local->op = GF_FOP_FTRUNCATE;
d1681e
 
d1681e
 	local->transaction.wind   = afr_ftruncate_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_ftruncate_unwind;
d1681e
 
d1681e
         local->transaction.main_frame = frame;
d1681e
@@ -888,8 +879,6 @@ afr_setattr (call_frame_t *frame, xlator_t *this, loc_t *loc, struct iatt *buf,
d1681e
 		goto out;
d1681e
 
d1681e
         local->transaction.wind   = afr_setattr_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_setattr_unwind;
d1681e
 
d1681e
         loc_copy (&local->loc, loc);
d1681e
@@ -995,8 +984,6 @@ afr_fsetattr (call_frame_t *frame, xlator_t *this,
d1681e
 		goto out;
d1681e
 
d1681e
         local->transaction.wind   = afr_fsetattr_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_fsetattr_unwind;
d1681e
 
d1681e
         local->fd                 = fd_ref (fd);
d1681e
@@ -1639,8 +1626,6 @@ afr_setxattr (call_frame_t *frame, xlator_t *this, loc_t *loc, dict_t *dict,
d1681e
 		goto out;
d1681e
 
d1681e
         local->transaction.wind   = afr_setxattr_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_setxattr_unwind;
d1681e
 
d1681e
         loc_copy (&local->loc, loc);
d1681e
@@ -1753,8 +1738,6 @@ afr_fsetxattr (call_frame_t *frame, xlator_t *this,
d1681e
 		goto out;
d1681e
 
d1681e
         local->transaction.wind   = afr_fsetxattr_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_fsetxattr_unwind;
d1681e
 
d1681e
         local->fd                 = fd_ref (fd);
d1681e
@@ -1868,8 +1851,6 @@ afr_removexattr (call_frame_t *frame, xlator_t *this,
d1681e
 		goto out;
d1681e
 
d1681e
         local->transaction.wind   = afr_removexattr_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_removexattr_unwind;
d1681e
 
d1681e
         loc_copy (&local->loc, loc);
d1681e
@@ -1977,8 +1958,6 @@ afr_fremovexattr (call_frame_t *frame, xlator_t *this, fd_t *fd,
d1681e
 		goto out;
d1681e
 
d1681e
         local->transaction.wind   = afr_fremovexattr_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_fremovexattr_unwind;
d1681e
 
d1681e
         local->fd = fd_ref (fd);
d1681e
@@ -2094,8 +2073,6 @@ afr_fallocate (call_frame_t *frame, xlator_t *this, fd_t *fd, int32_t mode,
d1681e
         local->op = GF_FOP_FALLOCATE;
d1681e
 
d1681e
         local->transaction.wind   = afr_fallocate_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_fallocate_unwind;
d1681e
 
d1681e
         local->transaction.main_frame = frame;
d1681e
@@ -2208,8 +2185,6 @@ afr_discard (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset,
d1681e
         local->op = GF_FOP_DISCARD;
d1681e
 
d1681e
         local->transaction.wind   = afr_discard_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_discard_unwind;
d1681e
 
d1681e
         local->transaction.main_frame = frame;
d1681e
@@ -2319,8 +2294,6 @@ afr_zerofill (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset,
d1681e
         local->op = GF_FOP_ZEROFILL;
d1681e
 
d1681e
         local->transaction.wind   = afr_zerofill_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_zerofill_unwind;
d1681e
 
d1681e
         local->transaction.main_frame = frame;
d1681e
@@ -2413,8 +2386,6 @@ afr_xattrop (call_frame_t *frame, xlator_t *this, loc_t *loc,
d1681e
 		local->xdata_req = dict_ref (xdata);
d1681e
 
d1681e
         local->transaction.wind   = afr_xattrop_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_xattrop_unwind;
d1681e
 
d1681e
         loc_copy (&local->loc, loc);
d1681e
@@ -2509,8 +2480,6 @@ afr_fxattrop (call_frame_t *frame, xlator_t *this, fd_t *fd,
d1681e
 		local->xdata_req = dict_ref (xdata);
d1681e
 
d1681e
         local->transaction.wind   = afr_fxattrop_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_fxattrop_unwind;
d1681e
 
d1681e
 	local->fd = fd_ref (fd);
d1681e
@@ -2626,8 +2595,6 @@ afr_fsync (call_frame_t *frame, xlator_t *this, fd_t *fd, int32_t datasync,
d1681e
 	}
d1681e
 
d1681e
         local->transaction.wind   = afr_fsync_wind;
d1681e
-        local->transaction.fop    = __afr_txn_write_fop;
d1681e
-        local->transaction.done   = __afr_txn_write_done;
d1681e
         local->transaction.unwind = afr_fsync_unwind;
d1681e
 
d1681e
         local->transaction.main_frame = frame;
d1681e
diff --git a/xlators/cluster/afr/src/afr-lk-common.c b/xlators/cluster/afr/src/afr-lk-common.c
d1681e
index f50c7b6..260815f 100644
d1681e
--- a/xlators/cluster/afr/src/afr-lk-common.c
d1681e
+++ b/xlators/cluster/afr/src/afr-lk-common.c
d1681e
@@ -23,38 +23,6 @@
d1681e
 #define LOCKED_YES      0x1        /* for DATA, METADATA, ENTRY and higher_path */
d1681e
 #define LOCKED_LOWER    0x2        /* for lower path */
d1681e
 
d1681e
-#define AFR_TRACE_INODELK_IN(frame, this, params ...)           \
d1681e
-        do {                                                    \
d1681e
-                afr_private_t *_priv = this->private;           \
d1681e
-                if (!_priv->inodelk_trace)                      \
d1681e
-                        break;                                  \
d1681e
-                afr_trace_inodelk_in (frame, this, params);     \
d1681e
-        } while (0);
d1681e
-
d1681e
-#define AFR_TRACE_INODELK_OUT(frame, this, params ...)          \
d1681e
-        do {                                                    \
d1681e
-                afr_private_t *_priv = this->private;           \
d1681e
-                if (!_priv->inodelk_trace)                      \
d1681e
-                        break;                                  \
d1681e
-                afr_trace_inodelk_out (frame, this, params);    \
d1681e
-        } while (0);
d1681e
-
d1681e
-#define AFR_TRACE_ENTRYLK_IN(frame, this, params ...)           \
d1681e
-        do {                                                    \
d1681e
-                afr_private_t *_priv = this->private;           \
d1681e
-                if (!_priv->entrylk_trace)                      \
d1681e
-                        break;                                  \
d1681e
-                afr_trace_entrylk_in (frame, this, params);     \
d1681e
-        } while (0);
d1681e
-
d1681e
-#define AFR_TRACE_ENTRYLK_OUT(frame, this, params ...)          \
d1681e
-        do {                                                    \
d1681e
-                afr_private_t *_priv = this->private;           \
d1681e
-                if (!_priv->entrylk_trace)                      \
d1681e
-                        break;                                  \
d1681e
-                afr_trace_entrylk_out (frame, this, params);    \
d1681e
-        } while (0);
d1681e
-
d1681e
 int
d1681e
 afr_entry_lockee_cmp (const void *l1, const void *l2)
d1681e
 {
d1681e
@@ -119,28 +87,6 @@ afr_set_lk_owner (call_frame_t *frame, xlator_t *this, void *lk_owner)
d1681e
         set_lk_owner_from_ptr (&frame->root->lk_owner, lk_owner);
d1681e
 }
d1681e
 
d1681e
-static int
d1681e
-is_afr_lock_selfheal (afr_local_t *local)
d1681e
-{
d1681e
-        afr_internal_lock_t *int_lock = NULL;
d1681e
-        int                  ret      = -1;
d1681e
-
d1681e
-        int_lock = &local->internal_lock;
d1681e
-
d1681e
-        switch (int_lock->selfheal_lk_type) {
d1681e
-        case AFR_DATA_SELF_HEAL_LK:
d1681e
-        case AFR_METADATA_SELF_HEAL_LK:
d1681e
-                ret = 1;
d1681e
-                break;
d1681e
-        case AFR_ENTRY_SELF_HEAL_LK:
d1681e
-                ret = 0;
d1681e
-                break;
d1681e
-        }
d1681e
-
d1681e
-        return ret;
d1681e
-
d1681e
-}
d1681e
-
d1681e
 int32_t
d1681e
 internal_lock_count (call_frame_t *frame, xlator_t *this)
d1681e
 {
d1681e
@@ -160,315 +106,12 @@ internal_lock_count (call_frame_t *frame, xlator_t *this)
d1681e
         return call_count;
d1681e
 }
d1681e
 
d1681e
-static void
d1681e
-afr_print_inodelk (char *str, int size, int cmd,
d1681e
-                   struct gf_flock *flock, gf_lkowner_t *owner)
d1681e
-{
d1681e
-        char *cmd_str = NULL;
d1681e
-        char *type_str = NULL;
d1681e
-
d1681e
-        switch (cmd) {
d1681e
-#if F_GETLK != F_GETLK64
d1681e
-        case F_GETLK64:
d1681e
-#endif
d1681e
-        case F_GETLK:
d1681e
-                cmd_str = "GETLK";
d1681e
-                break;
d1681e
-
d1681e
-#if F_SETLK != F_SETLK64
d1681e
-        case F_SETLK64:
d1681e
-#endif
d1681e
-        case F_SETLK:
d1681e
-                cmd_str = "SETLK";
d1681e
-                break;
d1681e
-
d1681e
-#if F_SETLKW != F_SETLKW64
d1681e
-        case F_SETLKW64:
d1681e
-#endif
d1681e
-        case F_SETLKW:
d1681e
-                cmd_str = "SETLKW";
d1681e
-                break;
d1681e
-
d1681e
-        default:
d1681e
-                cmd_str = "<null>";
d1681e
-                break;
d1681e
-        }
d1681e
-
d1681e
-        switch (flock->l_type) {
d1681e
-        case F_RDLCK:
d1681e
-                type_str = "READ";
d1681e
-                break;
d1681e
-        case F_WRLCK:
d1681e
-                type_str = "WRITE";
d1681e
-                break;
d1681e
-        case F_UNLCK:
d1681e
-                type_str = "UNLOCK";
d1681e
-                break;
d1681e
-        default:
d1681e
-                type_str = "UNKNOWN";
d1681e
-                break;
d1681e
-        }
d1681e
-
d1681e
-        snprintf (str, size, "lock=INODELK, cmd=%s, type=%s, "
d1681e
-                  "start=%llu, len=%llu, pid=%llu, lk-owner=%s",
d1681e
-                  cmd_str, type_str, (unsigned long long) flock->l_start,
d1681e
-                  (unsigned long long) flock->l_len,
d1681e
-                  (unsigned long long) flock->l_pid,
d1681e
-                  lkowner_utoa (owner));
d1681e
-
d1681e
-}
d1681e
-
d1681e
-static void
d1681e
-afr_print_lockee (char *str, int size, loc_t *loc, fd_t *fd,
d1681e
-                  int child_index)
d1681e
-{
d1681e
-        snprintf (str, size, "path=%s, fd=%p, child=%d",
d1681e
-                  loc->path ? loc->path : "<nul>",
d1681e
-                  fd ? fd : NULL,
d1681e
-                  child_index);
d1681e
-}
d1681e
-
d1681e
-void
d1681e
-afr_print_entrylk (char *str, int size, const char *basename,
d1681e
-                   gf_lkowner_t *owner)
d1681e
-{
d1681e
-        snprintf (str, size, "Basename=%s, lk-owner=%s",
d1681e
-                  basename ? basename : "<nul>",
d1681e
-                  lkowner_utoa (owner));
d1681e
-}
d1681e
-
d1681e
-static void
d1681e
-afr_print_verdict (int op_ret, int op_errno, char *str)
d1681e
-{
d1681e
-        if (op_ret < 0) {
d1681e
-                if (op_errno == EAGAIN)
d1681e
-                        strcpy (str, "EAGAIN");
d1681e
-                else
d1681e
-                        strcpy (str, "FAILED");
d1681e
-        }
d1681e
-        else
d1681e
-                strcpy (str, "GRANTED");
d1681e
-}
d1681e
-
d1681e
-static void
d1681e
-afr_set_lock_call_type (afr_lock_call_type_t lock_call_type,
d1681e
-                        char *lock_call_type_str,
d1681e
-                        afr_internal_lock_t *int_lock)
d1681e
-{
d1681e
-        switch (lock_call_type) {
d1681e
-        case AFR_INODELK_TRANSACTION:
d1681e
-                if (int_lock->transaction_lk_type == AFR_TRANSACTION_LK)
d1681e
-                        strcpy (lock_call_type_str, "AFR_INODELK_TRANSACTION");
d1681e
-                else
d1681e
-                        strcpy (lock_call_type_str, "AFR_INODELK_SELFHEAL");
d1681e
-                break;
d1681e
-        case AFR_INODELK_NB_TRANSACTION:
d1681e
-                if (int_lock->transaction_lk_type == AFR_TRANSACTION_LK)
d1681e
-                        strcpy (lock_call_type_str, "AFR_INODELK_NB_TRANSACTION");
d1681e
-                else
d1681e
-                        strcpy (lock_call_type_str, "AFR_INODELK_NB_SELFHEAL");
d1681e
-                break;
d1681e
-        case AFR_ENTRYLK_TRANSACTION:
d1681e
-                if (int_lock->transaction_lk_type == AFR_TRANSACTION_LK)
d1681e
-                        strcpy (lock_call_type_str, "AFR_ENTRYLK_TRANSACTION");
d1681e
-                else
d1681e
-                        strcpy (lock_call_type_str, "AFR_ENTRYLK_SELFHEAL");
d1681e
-                break;
d1681e
-        case AFR_ENTRYLK_NB_TRANSACTION:
d1681e
-                if (int_lock->transaction_lk_type == AFR_TRANSACTION_LK)
d1681e
-                        strcpy (lock_call_type_str, "AFR_ENTRYLK_NB_TRANSACTION");
d1681e
-                else
d1681e
-                        strcpy (lock_call_type_str, "AFR_ENTRYLK_NB_SELFHEAL");
d1681e
-                break;
d1681e
-        default:
d1681e
-                strcpy (lock_call_type_str, "UNKNOWN");
d1681e
-                break;
d1681e
-        }
d1681e
-
d1681e
-}
d1681e
-
d1681e
-static void
d1681e
-afr_trace_inodelk_out (call_frame_t *frame, xlator_t *this,
d1681e
-                       afr_lock_call_type_t lock_call_type,
d1681e
-                       afr_lock_op_type_t lk_op_type, struct gf_flock *flock,
d1681e
-                       int op_ret, int op_errno, int32_t child_index)
d1681e
-{
d1681e
-        afr_internal_lock_t *int_lock = NULL;
d1681e
-        afr_local_t         *local    = NULL;
d1681e
-
d1681e
-        char lockee[256];
d1681e
-        char lock_call_type_str[256];
d1681e
-        char verdict[16];
d1681e
-
d1681e
-        local    = frame->local;
d1681e
-        int_lock = &local->internal_lock;
d1681e
-
d1681e
-        afr_print_lockee (lockee, 256, &local->loc, local->fd, child_index);
d1681e
-
d1681e
-        afr_set_lock_call_type (lock_call_type, lock_call_type_str, int_lock);
d1681e
-
d1681e
-        afr_print_verdict (op_ret, op_errno, verdict);
d1681e
-
d1681e
-        gf_msg (this->name, GF_LOG_INFO, 0, AFR_MSG_LOCK_INFO,
d1681e
-                "[%s %s] [%s] lk-owner=%s Lockee={%s} Number={%llu}",
d1681e
-                lock_call_type_str,
d1681e
-                lk_op_type == AFR_LOCK_OP ? "LOCK REPLY" : "UNLOCK REPLY",
d1681e
-                verdict, lkowner_utoa (&frame->root->lk_owner), lockee,
d1681e
-                (unsigned long long) int_lock->lock_number);
d1681e
-
d1681e
-}
d1681e
-
d1681e
-static void
d1681e
-afr_trace_inodelk_in (call_frame_t *frame, xlator_t *this,
d1681e
-                      afr_lock_call_type_t lock_call_type,
d1681e
-                      afr_lock_op_type_t lk_op_type, struct gf_flock *flock,
d1681e
-                      int32_t cmd, int32_t child_index)
d1681e
-{
d1681e
-        afr_local_t         *local    = NULL;
d1681e
-        afr_internal_lock_t *int_lock = NULL;
d1681e
-
d1681e
-        char lock[256];
d1681e
-        char lockee[256];
d1681e
-        char lock_call_type_str[256];
d1681e
-
d1681e
-        local    = frame->local;
d1681e
-        int_lock = &local->internal_lock;
d1681e
-
d1681e
-        afr_print_inodelk (lock, 256, cmd, flock, &frame->root->lk_owner);
d1681e
-        afr_print_lockee (lockee, 256, &local->loc, local->fd, child_index);
d1681e
-
d1681e
-        afr_set_lock_call_type (lock_call_type, lock_call_type_str, int_lock);
d1681e
-
d1681e
-        gf_msg (this->name, GF_LOG_INFO, 0, AFR_MSG_LOCK_INFO,
d1681e
-                "[%s %s] Lock={%s} Lockee={%s} Number={%llu}",
d1681e
-                lock_call_type_str,
d1681e
-                lk_op_type == AFR_LOCK_OP ? "LOCK REQUEST" : "UNLOCK REQUEST",
d1681e
-                lock, lockee,
d1681e
-                (unsigned long long) int_lock->lock_number);
d1681e
-
d1681e
-}
d1681e
-
d1681e
-static void
d1681e
-afr_trace_entrylk_in (call_frame_t *frame, xlator_t *this,
d1681e
-                      afr_lock_call_type_t lock_call_type,
d1681e
-                      afr_lock_op_type_t lk_op_type, const char *basename,
d1681e
-                      int32_t cookie)
d1681e
-{
d1681e
-        afr_local_t         *local    = NULL;
d1681e
-        afr_internal_lock_t *int_lock = NULL;
d1681e
-        afr_private_t       *priv     = NULL;
d1681e
-        int                 child_index = 0;
d1681e
-        int                 lockee_no = 0;
d1681e
-
d1681e
-        char lock[256];
d1681e
-        char lockee[256];
d1681e
-        char lock_call_type_str[256];
d1681e
-
d1681e
-        local    = frame->local;
d1681e
-        int_lock = &local->internal_lock;
d1681e
-        priv     = this->private;
d1681e
-
d1681e
-        if (!priv->entrylk_trace) {
d1681e
-                return;
d1681e
-        }
d1681e
-        lockee_no = cookie / priv->child_count;
d1681e
-        child_index = cookie % priv->child_count;
d1681e
-
d1681e
-        afr_print_entrylk (lock, 256, basename, &frame->root->lk_owner);
d1681e
-        afr_print_lockee (lockee, 256, &int_lock->lockee[lockee_no].loc, local->fd,
d1681e
-                          child_index);
d1681e
-
d1681e
-        afr_set_lock_call_type (lock_call_type, lock_call_type_str, int_lock);
d1681e
-
d1681e
-        gf_msg (this->name, GF_LOG_INFO, 0, AFR_MSG_LOCK_INFO,
d1681e
-                "[%s %s] Lock={%s} Lockee={%s} Number={%llu}, Cookie={%d}",
d1681e
-                lock_call_type_str,
d1681e
-                lk_op_type == AFR_LOCK_OP ? "LOCK REQUEST" : "UNLOCK REQUEST",
d1681e
-                lock, lockee,
d1681e
-                (unsigned long long) int_lock->lock_number,
d1681e
-                cookie);
d1681e
-}
d1681e
-
d1681e
-static void
d1681e
-afr_trace_entrylk_out (call_frame_t *frame, xlator_t *this,
d1681e
-                       afr_lock_call_type_t lock_call_type,
d1681e
-                       afr_lock_op_type_t lk_op_type, const char *basename,
d1681e
-                       int op_ret, int op_errno, int32_t cookie)
d1681e
-{
d1681e
-        afr_internal_lock_t *int_lock = NULL;
d1681e
-        afr_local_t         *local    = NULL;
d1681e
-        afr_private_t       *priv     = NULL;
d1681e
-        int                 lockee_no = 0;
d1681e
-        int                 child_index = 0;
d1681e
-
d1681e
-        char lock[256];
d1681e
-        char lockee[256];
d1681e
-        char lock_call_type_str[256];
d1681e
-        char verdict[16];
d1681e
-
d1681e
-        local    = frame->local;
d1681e
-        int_lock = &local->internal_lock;
d1681e
-        priv     = this->private;
d1681e
-
d1681e
-        if (!priv->entrylk_trace) {
d1681e
-                return;
d1681e
-        }
d1681e
-        lockee_no = cookie / priv->child_count;
d1681e
-        child_index = cookie % priv->child_count;
d1681e
-
d1681e
-        afr_print_entrylk (lock, 256, basename, &frame->root->lk_owner);
d1681e
-        afr_print_lockee (lockee, 256, &int_lock->lockee[lockee_no].loc, local->fd,
d1681e
-                          child_index);
d1681e
-
d1681e
-        afr_set_lock_call_type (lock_call_type, lock_call_type_str, int_lock);
d1681e
-
d1681e
-        afr_print_verdict (op_ret, op_errno, verdict);
d1681e
-
d1681e
-        gf_msg (this->name, GF_LOG_INFO, 0, AFR_MSG_LOCK_INFO,
d1681e
-                "[%s %s] [%s] Lock={%s} Lockee={%s} Number={%llu} Cookie={%d}",
d1681e
-                lock_call_type_str,
d1681e
-                lk_op_type == AFR_LOCK_OP ? "LOCK REPLY" : "UNLOCK REPLY",
d1681e
-                verdict,
d1681e
-                lock, lockee,
d1681e
-                (unsigned long long) int_lock->lock_number,
d1681e
-                cookie);
d1681e
-
d1681e
-}
d1681e
-
d1681e
-static int
d1681e
-transaction_lk_op (afr_local_t *local)
d1681e
-{
d1681e
-        afr_internal_lock_t *int_lock = NULL;
d1681e
-        int ret = -1;
d1681e
-
d1681e
-        int_lock = &local->internal_lock;
d1681e
-
d1681e
-        if (int_lock->transaction_lk_type == AFR_TRANSACTION_LK) {
d1681e
-                gf_msg_debug (THIS->name, 0,
d1681e
-                              "lk op is for a transaction");
d1681e
-                ret = 1;
d1681e
-        }
d1681e
-        else if (int_lock->transaction_lk_type == AFR_SELFHEAL_LK) {
d1681e
-                gf_msg_debug (THIS->name, 0,
d1681e
-                              "lk op is for a self heal");
d1681e
-
d1681e
-                ret = 0;
d1681e
-        }
d1681e
-
d1681e
-        if (ret == -1)
d1681e
-                gf_msg_debug (THIS->name, 0,
d1681e
-                              "lk op is not set");
d1681e
-
d1681e
-        return ret;
d1681e
-
d1681e
-}
d1681e
-
d1681e
 int
d1681e
-afr_is_inodelk_transaction(afr_local_t *local)
d1681e
+afr_is_inodelk_transaction(afr_transaction_type type)
d1681e
 {
d1681e
         int ret = 0;
d1681e
 
d1681e
-        switch (local->transaction.type) {
d1681e
+        switch (type) {
d1681e
         case AFR_DATA_TRANSACTION:
d1681e
         case AFR_METADATA_TRANSACTION:
d1681e
                 ret = 1;
d1681e
@@ -664,10 +307,6 @@ afr_unlock_inodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
d1681e
         local = frame->local;
d1681e
         int_lock = &local->internal_lock;
d1681e
 
d1681e
-        AFR_TRACE_INODELK_OUT (frame, this, AFR_INODELK_TRANSACTION,
d1681e
-                               AFR_UNLOCK_OP, NULL, op_ret,
d1681e
-                               op_errno, child_index);
d1681e
-
d1681e
         priv = this->private;
d1681e
 
d1681e
         if (op_ret < 0 && op_errno != ENOTCONN && op_errno != EBADFD) {
d1681e
@@ -764,11 +403,6 @@ afr_unlock_inodelk (call_frame_t *frame, xlator_t *this)
d1681e
 
d1681e
                         flock_use = &full_flock;
d1681e
                 wind:
d1681e
-                        AFR_TRACE_INODELK_IN (frame, this,
d1681e
-                                              AFR_INODELK_TRANSACTION,
d1681e
-                                              AFR_UNLOCK_OP, flock_use, F_SETLK,
d1681e
-                                              i);
d1681e
-
d1681e
                         STACK_WIND_COOKIE (frame, afr_unlock_inodelk_cbk,
d1681e
                                            (void *) (long)i,
d1681e
                                            priv->children[i],
d1681e
@@ -780,9 +414,6 @@ afr_unlock_inodelk (call_frame_t *frame, xlator_t *this)
d1681e
                                 break;
d1681e
 
d1681e
                 } else {
d1681e
-                        AFR_TRACE_INODELK_IN (frame, this,
d1681e
-                                              AFR_INODELK_TRANSACTION,
d1681e
-                                              AFR_UNLOCK_OP, &flock, F_SETLK, i);
d1681e
 
d1681e
                         STACK_WIND_COOKIE (frame, afr_unlock_inodelk_cbk,
d1681e
                                            (void *) (long)i,
d1681e
@@ -816,11 +447,6 @@ afr_unlock_entrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
d1681e
         local = frame->local;
d1681e
         int_lock = &local->internal_lock;
d1681e
 
d1681e
-        AFR_TRACE_ENTRYLK_OUT (frame, this, AFR_ENTRYLK_TRANSACTION,
d1681e
-                               AFR_UNLOCK_OP,
d1681e
-                               int_lock->lockee[lockee_no].basename, op_ret,
d1681e
-                               op_errno, (int) ((long)cookie));
d1681e
-
d1681e
         if (op_ret < 0) {
d1681e
                 gf_msg (this->name, GF_LOG_ERROR, op_errno,
d1681e
                         AFR_MSG_ENTRY_UNLOCK_FAIL,
d1681e
@@ -866,10 +492,6 @@ afr_unlock_entrylk (call_frame_t *frame, xlator_t *this)
d1681e
                 lockee_no = i / copies;
d1681e
                 index     = i % copies;
d1681e
                 if (int_lock->lockee[lockee_no].locked_nodes[index] & LOCKED_YES) {
d1681e
-                        AFR_TRACE_ENTRYLK_IN (frame, this, AFR_ENTRYLK_NB_TRANSACTION,
d1681e
-                                              AFR_UNLOCK_OP,
d1681e
-                                              int_lock->lockee[lockee_no].basename,
d1681e
-                                              i);
d1681e
 
d1681e
                         STACK_WIND_COOKIE (frame, afr_unlock_entrylk_cbk,
d1681e
                                            (void *) (long) i,
d1681e
@@ -963,10 +585,6 @@ static int32_t
d1681e
 afr_blocking_inodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
d1681e
                           int32_t op_ret, int32_t op_errno, dict_t *xdata)
d1681e
 {
d1681e
-        AFR_TRACE_INODELK_OUT (frame, this, AFR_INODELK_TRANSACTION,
d1681e
-                               AFR_LOCK_OP, NULL, op_ret,
d1681e
-                               op_errno, (long) cookie);
d1681e
-
d1681e
         afr_lock_cbk (frame, cookie, this, op_ret, op_errno, xdata);
d1681e
         return 0;
d1681e
 
d1681e
@@ -976,10 +594,6 @@ static int32_t
d1681e
 afr_blocking_entrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
d1681e
                           int32_t op_ret, int32_t op_errno, dict_t *xdata)
d1681e
 {
d1681e
-        AFR_TRACE_ENTRYLK_OUT (frame, this, AFR_ENTRYLK_TRANSACTION,
d1681e
-                               AFR_LOCK_OP, NULL, op_ret,
d1681e
-                               op_errno, (long)cookie);
d1681e
-
d1681e
         afr_lock_cbk (frame, cookie, this, op_ret, op_errno, xdata);
d1681e
         return 0;
d1681e
 }
d1681e
@@ -1017,27 +631,11 @@ afr_copy_locked_nodes (call_frame_t *frame, xlator_t *this)
d1681e
 }
d1681e
 
d1681e
 static gf_boolean_t
d1681e
-afr_is_entrylk (afr_internal_lock_t *int_lock,
d1681e
-                afr_transaction_type trans_type)
d1681e
+afr_is_entrylk (afr_transaction_type trans_type)
d1681e
 {
d1681e
-        gf_boolean_t is_entrylk = _gf_false;
d1681e
-
d1681e
-        if ((int_lock->transaction_lk_type == AFR_SELFHEAL_LK) &&
d1681e
-            int_lock->selfheal_lk_type == AFR_ENTRY_SELF_HEAL_LK) {
d1681e
-
d1681e
-                is_entrylk = _gf_true;
d1681e
-
d1681e
-        } else if ((int_lock->transaction_lk_type == AFR_TRANSACTION_LK) &&
d1681e
-                 (trans_type == AFR_ENTRY_TRANSACTION ||
d1681e
-                  trans_type == AFR_ENTRY_RENAME_TRANSACTION)) {
d1681e
-
d1681e
-                is_entrylk = _gf_true;
d1681e
-
d1681e
-        } else {
d1681e
-                is_entrylk = _gf_false;
d1681e
-        }
d1681e
-
d1681e
-        return is_entrylk;
d1681e
+        if (afr_is_inodelk_transaction (trans_type))
d1681e
+                return _gf_false;
d1681e
+        return _gf_true;
d1681e
 }
d1681e
 
d1681e
 static gf_boolean_t
d1681e
@@ -1092,7 +690,7 @@ is_blocking_locks_count_sufficient (call_frame_t *frame, xlator_t *this)
d1681e
         priv = this->private;
d1681e
         int_lock = &local->internal_lock;
d1681e
         lockee_count = int_lock->lockee_count;
d1681e
-        is_entrylk = afr_is_entrylk (int_lock, local->transaction.type);
d1681e
+        is_entrylk = afr_is_entrylk (local->transaction.type);
d1681e
 
d1681e
         if (!is_entrylk) {
d1681e
                 if (int_lock->lock_count == 0) {
d1681e
@@ -1150,7 +748,7 @@ afr_lock_blocking (call_frame_t *frame, xlator_t *this, int cookie)
d1681e
         priv          = this->private;
d1681e
         child_index   = cookie % priv->child_count;
d1681e
         lockee_no     = cookie / priv->child_count;
d1681e
-        is_entrylk    = afr_is_entrylk (int_lock, local->transaction.type);
d1681e
+        is_entrylk    = afr_is_entrylk (local->transaction.type);
d1681e
 
d1681e
 
d1681e
         if (!is_entrylk) {
d1681e
@@ -1217,10 +815,6 @@ afr_lock_blocking (call_frame_t *frame, xlator_t *this, int cookie)
d1681e
         case AFR_METADATA_TRANSACTION:
d1681e
 
d1681e
                 if (local->fd) {
d1681e
-                        AFR_TRACE_INODELK_IN (frame, this,
d1681e
-                                              AFR_INODELK_TRANSACTION,
d1681e
-                                              AFR_LOCK_OP, &flock, F_SETLKW,
d1681e
-                                              child_index);
d1681e
 
d1681e
                         STACK_WIND_COOKIE (frame, afr_blocking_inodelk_cbk,
d1681e
                                            (void *) (long) child_index,
d1681e
@@ -1230,10 +824,6 @@ afr_lock_blocking (call_frame_t *frame, xlator_t *this, int cookie)
d1681e
                                            F_SETLKW, &flock, NULL);
d1681e
 
d1681e
                 } else {
d1681e
-                        AFR_TRACE_INODELK_IN (frame, this,
d1681e
-                                              AFR_INODELK_TRANSACTION,
d1681e
-                                              AFR_LOCK_OP, &flock, F_SETLKW,
d1681e
-                                              child_index);
d1681e
 
d1681e
                         STACK_WIND_COOKIE (frame, afr_blocking_inodelk_cbk,
d1681e
                                            (void *) (long) child_index,
d1681e
@@ -1251,10 +841,6 @@ afr_lock_blocking (call_frame_t *frame, xlator_t *this, int cookie)
d1681e
                  *and 'fd-less' children */
d1681e
 
d1681e
                 if (local->fd) {
d1681e
-                        AFR_TRACE_ENTRYLK_IN (frame, this, AFR_ENTRYLK_TRANSACTION,
d1681e
-                                              AFR_LOCK_OP,
d1681e
-                                              int_lock->lockee[lockee_no].basename,
d1681e
-                                              cookie);
d1681e
 
d1681e
                         STACK_WIND_COOKIE (frame, afr_blocking_entrylk_cbk,
d1681e
                                            (void *) (long) cookie,
d1681e
@@ -1264,10 +850,6 @@ afr_lock_blocking (call_frame_t *frame, xlator_t *this, int cookie)
d1681e
                                            int_lock->lockee[lockee_no].basename,
d1681e
                                            ENTRYLK_LOCK, ENTRYLK_WRLCK, NULL);
d1681e
                 } else {
d1681e
-                        AFR_TRACE_ENTRYLK_IN (frame, this,
d1681e
-                                              AFR_ENTRYLK_TRANSACTION,
d1681e
-                                              AFR_LOCK_OP, local->transaction.basename,
d1681e
-                                              child_index);
d1681e
 
d1681e
                         STACK_WIND_COOKIE (frame, afr_blocking_entrylk_cbk,
d1681e
                                            (void *) (long) cookie,
d1681e
@@ -1340,10 +922,6 @@ afr_nonblocking_entrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
d1681e
         local    = frame->local;
d1681e
         int_lock = &local->internal_lock;
d1681e
 
d1681e
-        AFR_TRACE_ENTRYLK_OUT (frame, this, AFR_ENTRYLK_TRANSACTION,
d1681e
-                               AFR_LOCK_OP,
d1681e
-                               int_lock->lockee[lockee_no].basename, op_ret,
d1681e
-                               op_errno, (long) cookie);
d1681e
 
d1681e
 	LOCK (&frame->lock);
d1681e
 	{
d1681e
@@ -1453,10 +1031,6 @@ afr_nonblocking_entrylk (call_frame_t *frame, xlator_t *this)
d1681e
                         index = i%copies;
d1681e
                         lockee_no = i/copies;
d1681e
                         if (local->child_up[index]) {
d1681e
-                                AFR_TRACE_ENTRYLK_IN (frame, this, AFR_ENTRYLK_NB_TRANSACTION,
d1681e
-                                                      AFR_LOCK_OP,
d1681e
-                                                      int_lock->lockee[lockee_no].basename,
d1681e
-                                                      i);
d1681e
 
d1681e
                                 STACK_WIND_COOKIE (frame, afr_nonblocking_entrylk_cbk,
d1681e
                                                    (void *) (long) i,
d1681e
@@ -1479,10 +1053,6 @@ afr_nonblocking_entrylk (call_frame_t *frame, xlator_t *this)
d1681e
                         index = i%copies;
d1681e
                         lockee_no = i/copies;
d1681e
                         if (local->child_up[index]) {
d1681e
-                                AFR_TRACE_ENTRYLK_IN (frame, this, AFR_ENTRYLK_NB_TRANSACTION,
d1681e
-                                                      AFR_LOCK_OP,
d1681e
-                                                      int_lock->lockee[lockee_no].basename,
d1681e
-                                                      i);
d1681e
 
d1681e
                                 STACK_WIND_COOKIE (frame, afr_nonblocking_entrylk_cbk,
d1681e
                                                    (void *) (long) i,
d1681e
@@ -1517,10 +1087,6 @@ afr_nonblocking_inodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
d1681e
         int_lock = &local->internal_lock;
d1681e
         inodelk = afr_get_inodelk (int_lock, int_lock->domain);
d1681e
 
d1681e
-        AFR_TRACE_INODELK_OUT (frame, this, AFR_INODELK_NB_TRANSACTION,
d1681e
-                               AFR_LOCK_OP, NULL, op_ret,
d1681e
-                               op_errno, (long) cookie);
d1681e
-
d1681e
 	if (local->fd)
d1681e
 		fd_ctx = afr_fd_ctx_get (local->fd, this);
d1681e
 
d1681e
@@ -1691,9 +1257,6 @@ afr_nonblocking_inodelk (call_frame_t *frame, xlator_t *this)
d1681e
                         }
d1681e
                         flock_use = &full_flock;
d1681e
                 wind:
d1681e
-                        AFR_TRACE_INODELK_IN (frame, this,
d1681e
-                                              AFR_INODELK_NB_TRANSACTION,
d1681e
-                                              AFR_LOCK_OP, flock_use, F_SETLK, i);
d1681e
 
d1681e
                         STACK_WIND_COOKIE (frame, afr_nonblocking_inodelk_cbk,
d1681e
                                            (void *) (long) i,
d1681e
@@ -1713,9 +1276,6 @@ afr_nonblocking_inodelk (call_frame_t *frame, xlator_t *this)
d1681e
                 for (i = 0; i < priv->child_count; i++) {
d1681e
                         if (!local->child_up[i])
d1681e
                                 continue;
d1681e
-                        AFR_TRACE_INODELK_IN (frame, this,
d1681e
-                                              AFR_INODELK_NB_TRANSACTION,
d1681e
-                                              AFR_LOCK_OP, &flock, F_SETLK, i);
d1681e
 
d1681e
                         STACK_WIND_COOKIE (frame, afr_nonblocking_inodelk_cbk,
d1681e
                                            (void *) (long) i,
d1681e
@@ -1739,54 +1299,10 @@ afr_unlock (call_frame_t *frame, xlator_t *this)
d1681e
 
d1681e
         local = frame->local;
d1681e
 
d1681e
-        if (transaction_lk_op (local)) {
d1681e
-                if (afr_is_inodelk_transaction(local))
d1681e
-                        afr_unlock_inodelk (frame, this);
d1681e
-                else
d1681e
-                        afr_unlock_entrylk (frame, this);
d1681e
-
d1681e
-        } else {
d1681e
-                if (is_afr_lock_selfheal (local))
d1681e
-                        afr_unlock_inodelk (frame, this);
d1681e
-                else
d1681e
-                        afr_unlock_entrylk (frame, this);
d1681e
-        }
d1681e
+        if (afr_is_inodelk_transaction(local->transaction.type))
d1681e
+                afr_unlock_inodelk (frame, this);
d1681e
+        else
d1681e
+                afr_unlock_entrylk (frame, this);
d1681e
 
d1681e
         return 0;
d1681e
 }
d1681e
-
d1681e
-int
d1681e
-afr_lk_transfer_datalock (call_frame_t *dst, call_frame_t *src, char *dom,
d1681e
-                          unsigned int child_count)
d1681e
-{
d1681e
-        afr_local_t         *dst_local   = NULL;
d1681e
-        afr_local_t         *src_local   = NULL;
d1681e
-        afr_internal_lock_t *dst_lock    = NULL;
d1681e
-        afr_internal_lock_t *src_lock    = NULL;
d1681e
-        afr_inodelk_t       *dst_inodelk = NULL;
d1681e
-        afr_inodelk_t       *src_inodelk = NULL;
d1681e
-        int                 ret = -1;
d1681e
-
d1681e
-        src_local = src->local;
d1681e
-        src_lock  = &src_local->internal_lock;
d1681e
-        src_inodelk = afr_get_inodelk (src_lock, dom);
d1681e
-        dst_local = dst->local;
d1681e
-        dst_lock  = &dst_local->internal_lock;
d1681e
-        dst_inodelk = afr_get_inodelk (dst_lock, dom);
d1681e
-        if (!dst_inodelk || !src_inodelk)
d1681e
-                goto out;
d1681e
-        if (src_inodelk->locked_nodes) {
d1681e
-                memcpy (dst_inodelk->locked_nodes, src_inodelk->locked_nodes,
d1681e
-                        sizeof (*dst_inodelk->locked_nodes) * child_count);
d1681e
-                memset (src_inodelk->locked_nodes, 0,
d1681e
-                        sizeof (*src_inodelk->locked_nodes) * child_count);
d1681e
-        }
d1681e
-
d1681e
-        dst_lock->transaction_lk_type = src_lock->transaction_lk_type;
d1681e
-        dst_lock->selfheal_lk_type    = src_lock->selfheal_lk_type;
d1681e
-        dst_inodelk->lock_count = src_inodelk->lock_count;
d1681e
-        src_inodelk->lock_count = 0;
d1681e
-        ret = 0;
d1681e
-out:
d1681e
-        return ret;
d1681e
-}
d1681e
diff --git a/xlators/cluster/afr/src/afr-transaction.c b/xlators/cluster/afr/src/afr-transaction.c
d1681e
index 02fb10a..acbfe1a 100644
d1681e
--- a/xlators/cluster/afr/src/afr-transaction.c
d1681e
+++ b/xlators/cluster/afr/src/afr-transaction.c
d1681e
@@ -133,7 +133,7 @@ afr_needs_changelog_update (afr_local_t *local)
d1681e
 }
d1681e
 
d1681e
 int
d1681e
-__afr_txn_write_fop (call_frame_t *frame, xlator_t *this)
d1681e
+afr_transaction_fop (call_frame_t *frame, xlator_t *this)
d1681e
 {
d1681e
         afr_local_t *local = NULL;
d1681e
         afr_private_t *priv = NULL;
d1681e
@@ -150,7 +150,7 @@ __afr_txn_write_fop (call_frame_t *frame, xlator_t *this)
d1681e
                                                     priv->child_count);
d1681e
 
d1681e
         if (call_count == 0) {
d1681e
-                local->transaction.resume (frame, this);
d1681e
+                afr_transaction_resume (frame, this);
d1681e
                 return 0;
d1681e
         }
d1681e
 
d1681e
@@ -170,7 +170,7 @@ __afr_txn_write_fop (call_frame_t *frame, xlator_t *this)
d1681e
 
d1681e
 
d1681e
 int
d1681e
-__afr_txn_write_done (call_frame_t *frame, xlator_t *this)
d1681e
+afr_transaction_done (call_frame_t *frame, xlator_t *this)
d1681e
 {
d1681e
         afr_local_t *local = NULL;
d1681e
         afr_private_t *priv = NULL;
d1681e
@@ -345,13 +345,13 @@ afr_txn_arbitrate_fop (call_frame_t *frame, xlator_t *this)
d1681e
         /* If arbiter is the only source, do not proceed. */
d1681e
         if (pre_op_sources_count < 2 &&
d1681e
             local->transaction.pre_op_sources[ARBITER_BRICK_INDEX]) {
d1681e
-                local->internal_lock.lock_cbk = local->transaction.done;
d1681e
+                local->internal_lock.lock_cbk = afr_transaction_done;
d1681e
                 local->op_ret = -1;
d1681e
                 local->op_errno =  ENOTCONN;
d1681e
                 afr_restore_lk_owner (frame);
d1681e
                 afr_unlock (frame, this);
d1681e
         } else {
d1681e
-                local->transaction.fop (frame, this);
d1681e
+                afr_transaction_fop (frame, this);
d1681e
         }
d1681e
 
d1681e
         return;
d1681e
@@ -407,75 +407,12 @@ afr_transaction_perform_fop (call_frame_t *frame, xlator_t *this)
d1681e
         if (priv->arbiter_count == 1) {
d1681e
                 afr_txn_arbitrate_fop (frame, this);
d1681e
         } else {
d1681e
-                local->transaction.fop (frame, this);
d1681e
+                afr_transaction_fop (frame, this);
d1681e
         }
d1681e
 
d1681e
 	return 0;
d1681e
 }
d1681e
 
d1681e
-static int
d1681e
-__changelog_enabled (afr_private_t *priv, afr_transaction_type type)
d1681e
-{
d1681e
-        int ret = 0;
d1681e
-
d1681e
-        switch (type) {
d1681e
-        case AFR_DATA_TRANSACTION:
d1681e
-                if (priv->data_change_log)
d1681e
-                        ret = 1;
d1681e
-
d1681e
-                break;
d1681e
-
d1681e
-        case AFR_METADATA_TRANSACTION:
d1681e
-                if (priv->metadata_change_log)
d1681e
-                        ret = 1;
d1681e
-
d1681e
-                break;
d1681e
-
d1681e
-        case AFR_ENTRY_TRANSACTION:
d1681e
-        case AFR_ENTRY_RENAME_TRANSACTION:
d1681e
-                if (priv->entry_change_log)
d1681e
-                        ret = 1;
d1681e
-
d1681e
-                break;
d1681e
-        }
d1681e
-
d1681e
-        return ret;
d1681e
-}
d1681e
-
d1681e
-
d1681e
-static int
d1681e
-__fop_changelog_needed (call_frame_t *frame, xlator_t *this)
d1681e
-{
d1681e
-        afr_private_t * priv  = NULL;
d1681e
-        afr_local_t   * local = NULL;
d1681e
-        int op_ret = 0;
d1681e
-        afr_transaction_type type = -1;
d1681e
-
d1681e
-        priv  = this->private;
d1681e
-        local = frame->local;
d1681e
-        type  = local->transaction.type;
d1681e
-
d1681e
-        if (__changelog_enabled (priv, type)) {
d1681e
-                switch (local->op) {
d1681e
-
d1681e
-                case GF_FOP_WRITE:
d1681e
-                case GF_FOP_FTRUNCATE:
d1681e
-                        op_ret = 1;
d1681e
-                        break;
d1681e
-
d1681e
-                case GF_FOP_FLUSH:
d1681e
-                        op_ret = 0;
d1681e
-                        break;
d1681e
-
d1681e
-                default:
d1681e
-                        op_ret = 1;
d1681e
-                }
d1681e
-        }
d1681e
-
d1681e
-        return op_ret;
d1681e
-}
d1681e
-
d1681e
-
d1681e
 int
d1681e
 afr_set_pending_dict (afr_private_t *priv, dict_t *xattr, int **pending)
d1681e
 {
d1681e
@@ -496,29 +433,6 @@ afr_set_pending_dict (afr_private_t *priv, dict_t *xattr, int **pending)
d1681e
         return ret;
d1681e
 }
d1681e
 
d1681e
-int
d1681e
-afr_lock_server_count (afr_private_t *priv, afr_transaction_type type)
d1681e
-{
d1681e
-        int ret = 0;
d1681e
-
d1681e
-        switch (type) {
d1681e
-        case AFR_DATA_TRANSACTION:
d1681e
-                ret = priv->child_count;
d1681e
-                break;
d1681e
-
d1681e
-        case AFR_METADATA_TRANSACTION:
d1681e
-                ret = priv->child_count;
d1681e
-                break;
d1681e
-
d1681e
-        case AFR_ENTRY_TRANSACTION:
d1681e
-        case AFR_ENTRY_RENAME_TRANSACTION:
d1681e
-                ret = priv->child_count;
d1681e
-                break;
d1681e
-        }
d1681e
-
d1681e
-        return ret;
d1681e
-}
d1681e
-
d1681e
 /* {{{ pending */
d1681e
 
d1681e
 
d1681e
@@ -552,11 +466,9 @@ int
d1681e
 afr_changelog_post_op_done (call_frame_t *frame, xlator_t *this)
d1681e
 {
d1681e
 	afr_local_t *local = NULL;
d1681e
-	afr_private_t *priv = NULL;
d1681e
         afr_internal_lock_t *int_lock = NULL;
d1681e
 
d1681e
 	local = frame->local;
d1681e
-	priv = this->private;
d1681e
         int_lock = &local->internal_lock;
d1681e
 
d1681e
         /* Fail the FOP if post-op did not succeed on quorum no. of bricks. */
d1681e
@@ -567,12 +479,8 @@ afr_changelog_post_op_done (call_frame_t *frame, xlator_t *this)
d1681e
 		local->transaction.resume_stub = NULL;
d1681e
 	}
d1681e
 
d1681e
-	if (afr_lock_server_count (priv, local->transaction.type) == 0) {
d1681e
-		local->transaction.done (frame, this);
d1681e
-	} else {
d1681e
-		int_lock->lock_cbk = local->transaction.done;
d1681e
-		afr_unlock (frame, this);
d1681e
-	}
d1681e
+        int_lock->lock_cbk = afr_transaction_done;
d1681e
+        afr_unlock (frame, this);
d1681e
 
d1681e
 	return 0;
d1681e
 }
d1681e
@@ -1496,7 +1404,7 @@ next:
d1681e
 
d1681e
         return 0;
d1681e
 err:
d1681e
-	local->internal_lock.lock_cbk = local->transaction.done;
d1681e
+	local->internal_lock.lock_cbk = afr_transaction_done;
d1681e
 	local->op_ret = -1;
d1681e
 	local->op_errno = op_errno;
d1681e
 
d1681e
@@ -1522,7 +1430,7 @@ afr_post_blocking_inodelk_cbk (call_frame_t *frame, xlator_t *this)
d1681e
                 gf_msg (this->name, GF_LOG_INFO,
d1681e
                         0, AFR_MSG_BLOCKING_LKS_FAILED,
d1681e
                         "Blocking inodelks failed.");
d1681e
-                local->transaction.done (frame, this);
d1681e
+                afr_transaction_done (frame, this);
d1681e
         } else {
d1681e
 
d1681e
                 gf_msg_debug (this->name, 0,
d1681e
@@ -1573,7 +1481,7 @@ afr_post_blocking_entrylk_cbk (call_frame_t *frame, xlator_t *this)
d1681e
                 gf_msg (this->name, GF_LOG_INFO, 0,
d1681e
                         AFR_MSG_BLOCKING_LKS_FAILED,
d1681e
                         "Blocking entrylks failed.");
d1681e
-                local->transaction.done (frame, this);
d1681e
+                afr_transaction_done (frame, this);
d1681e
         } else {
d1681e
 
d1681e
                 gf_msg_debug (this->name, 0,
d1681e
@@ -1626,7 +1534,7 @@ afr_post_blocking_rename_cbk (call_frame_t *frame, xlator_t *this)
d1681e
                         AFR_MSG_BLOCKING_LKS_FAILED,
d1681e
                         "Blocking entrylks failed.");
d1681e
 
d1681e
-                local->transaction.done (frame, this);
d1681e
+                afr_transaction_done (frame, this);
d1681e
         } else {
d1681e
 
d1681e
                 gf_msg_debug (this->name, 0,
d1681e
@@ -1689,7 +1597,6 @@ afr_lock_rec (call_frame_t *frame, xlator_t *this)
d1681e
         local    = frame->local;
d1681e
         int_lock = &local->internal_lock;
d1681e
 
d1681e
-        int_lock->transaction_lk_type = AFR_TRANSACTION_LK;
d1681e
         int_lock->domain = this->name;
d1681e
 
d1681e
         switch (local->transaction.type) {
d1681e
@@ -1738,11 +1645,7 @@ afr_lock (call_frame_t *frame, xlator_t *this)
d1681e
 int
d1681e
 afr_internal_lock_finish (call_frame_t *frame, xlator_t *this)
d1681e
 {
d1681e
-        if (__fop_changelog_needed (frame, this)) {
d1681e
-                afr_changelog_pre_op (frame, this);
d1681e
-        } else {
d1681e
-                afr_transaction_perform_fop (frame, this);
d1681e
-        }
d1681e
+        afr_changelog_pre_op (frame, this);
d1681e
 
d1681e
         return 0;
d1681e
 }
d1681e
@@ -2152,11 +2055,7 @@ afr_transaction_resume (call_frame_t *frame, xlator_t *this)
d1681e
 		   with OP */
d1681e
 		afr_changelog_pre_op_update (frame, this);
d1681e
 
d1681e
-        if (__fop_changelog_needed (frame, this)) {
d1681e
-                afr_changelog_post_op (frame, this);
d1681e
-        } else {
d1681e
-		afr_changelog_post_op_done (frame, this);
d1681e
-        }
d1681e
+        afr_changelog_post_op (frame, this);
d1681e
 
d1681e
         return 0;
d1681e
 }
d1681e
@@ -2263,7 +2162,6 @@ void
d1681e
 afr_transaction_start (call_frame_t *frame, xlator_t *this)
d1681e
 {
d1681e
         afr_local_t   *local = frame->local;
d1681e
-        afr_private_t *priv  = this->private;
d1681e
         fd_t          *fd    = NULL;
d1681e
 
d1681e
         afr_transaction_eager_lock_init (local, this);
d1681e
@@ -2285,11 +2183,7 @@ afr_transaction_start (call_frame_t *frame, xlator_t *this)
d1681e
                 }
d1681e
         }
d1681e
 
d1681e
-        if (afr_lock_server_count (priv, local->transaction.type) == 0) {
d1681e
-                afr_internal_lock_finish (frame, this);
d1681e
-        } else {
d1681e
-                afr_lock (frame, this);
d1681e
-        }
d1681e
+        afr_lock (frame, this);
d1681e
 }
d1681e
 
d1681e
 int
d1681e
@@ -2321,7 +2215,6 @@ afr_transaction (call_frame_t *frame, xlator_t *this, afr_transaction_type type)
d1681e
         local = frame->local;
d1681e
         priv  = this->private;
d1681e
 
d1681e
-        local->transaction.resume = afr_transaction_resume;
d1681e
         local->transaction.type   = type;
d1681e
 
d1681e
         if (!afr_is_consistent_io_possible (local, priv, &ret)) {
d1681e
diff --git a/xlators/cluster/afr/src/afr-transaction.h b/xlators/cluster/afr/src/afr-transaction.h
d1681e
index d01e144..ddcb1eb 100644
d1681e
--- a/xlators/cluster/afr/src/afr-transaction.h
d1681e
+++ b/xlators/cluster/afr/src/afr-transaction.h
d1681e
@@ -46,8 +46,6 @@ int afr_read_txn (call_frame_t *frame, xlator_t *this, inode_t *inode,
d1681e
 
d1681e
 int afr_read_txn_continue (call_frame_t *frame, xlator_t *this, int subvol);
d1681e
 
d1681e
-int __afr_txn_write_fop (call_frame_t *frame, xlator_t *this);
d1681e
-int __afr_txn_write_done (call_frame_t *frame, xlator_t *this);
d1681e
 call_frame_t *afr_transaction_detach_fop_frame (call_frame_t *frame);
d1681e
 gf_boolean_t afr_has_quorum (unsigned char *subvols, xlator_t *this);
d1681e
 gf_boolean_t afr_needs_changelog_update (afr_local_t *local);
d1681e
diff --git a/xlators/cluster/afr/src/afr.c b/xlators/cluster/afr/src/afr.c
d1681e
index 9ed0481..dec6e60 100644
d1681e
--- a/xlators/cluster/afr/src/afr.c
d1681e
+++ b/xlators/cluster/afr/src/afr.c
d1681e
@@ -168,15 +168,6 @@ reconfigure (xlator_t *this, dict_t *options)
d1681e
                           priv->data_self_heal_window_size, options,
d1681e
                           uint32, out);
d1681e
 
d1681e
-        GF_OPTION_RECONF ("data-change-log", priv->data_change_log, options,
d1681e
-                          bool, out);
d1681e
-
d1681e
-        GF_OPTION_RECONF ("metadata-change-log",
d1681e
-                          priv->metadata_change_log, options, bool, out);
d1681e
-
d1681e
-        GF_OPTION_RECONF ("entry-change-log", priv->entry_change_log, options,
d1681e
-                          bool, out);
d1681e
-
d1681e
         GF_OPTION_RECONF ("data-self-heal-algorithm",
d1681e
                           priv->data_self_heal_algorithm, options, str, out);
d1681e
 
d1681e
@@ -516,20 +507,9 @@ init (xlator_t *this)
d1681e
 
d1681e
         GF_OPTION_INIT ("iam-nfs-daemon", priv->nfsd.iamnfsd, bool, out);
d1681e
 
d1681e
-        GF_OPTION_INIT ("data-change-log", priv->data_change_log, bool, out);
d1681e
-
d1681e
-        GF_OPTION_INIT ("metadata-change-log", priv->metadata_change_log, bool,
d1681e
-                        out);
d1681e
-
d1681e
-        GF_OPTION_INIT ("entry-change-log", priv->entry_change_log, bool, out);
d1681e
-
d1681e
         GF_OPTION_INIT ("optimistic-change-log", priv->optimistic_change_log,
d1681e
                         bool, out);
d1681e
 
d1681e
-        GF_OPTION_INIT ("inodelk-trace", priv->inodelk_trace, bool, out);
d1681e
-
d1681e
-        GF_OPTION_INIT ("entrylk-trace", priv->entrylk_trace, bool, out);
d1681e
-
d1681e
         GF_OPTION_INIT ("pre-op-compat", priv->pre_op_compat, bool, out);
d1681e
         GF_OPTION_INIT ("locking-scheme", priv->locking_scheme, str, out);
d1681e
         GF_OPTION_INIT ("full-lock", priv->full_lock, bool, out);
d1681e
@@ -878,23 +858,20 @@ struct volume_options options[] = {
d1681e
         { .key  = {"data-change-log"},
d1681e
           .type = GF_OPTION_TYPE_BOOL,
d1681e
           .default_value = "on",
d1681e
-          .description = "Data fops like write/truncate will not perform "
d1681e
-                         "pre/post fop changelog operations in afr transaction "
d1681e
-                         "if this option is disabled"
d1681e
+          .description = "This option exists only for backward compatibility "
d1681e
+                         "and configuring it doesn't have any effect"
d1681e
         },
d1681e
         { .key  = {"metadata-change-log"},
d1681e
           .type = GF_OPTION_TYPE_BOOL,
d1681e
           .default_value = "on",
d1681e
-          .description = "Metadata fops like setattr/setxattr will not perform "
d1681e
-                         "pre/post fop changelog operations in afr transaction "
d1681e
-                         "if this option is disabled"
d1681e
+          .description = "This option exists only for backward compatibility "
d1681e
+                         "and configuring it doesn't have any effect"
d1681e
         },
d1681e
         { .key  = {"entry-change-log"},
d1681e
           .type = GF_OPTION_TYPE_BOOL,
d1681e
           .default_value = "on",
d1681e
-          .description = "Entry fops like create/unlink will not perform "
d1681e
-                         "pre/post fop changelog operations in afr transaction "
d1681e
-                         "if this option is disabled"
d1681e
+          .description = "This option exists only for backward compatibility "
d1681e
+                         "and configuring it doesn't have any effect"
d1681e
         },
d1681e
         { .key  = {"optimistic-change-log"},
d1681e
           .type = GF_OPTION_TYPE_BOOL,
d1681e
diff --git a/xlators/cluster/afr/src/afr.h b/xlators/cluster/afr/src/afr.h
d1681e
index a5b0d3b..5ff57c0 100644
d1681e
--- a/xlators/cluster/afr/src/afr.h
d1681e
+++ b/xlators/cluster/afr/src/afr.h
d1681e
@@ -110,10 +110,6 @@ typedef struct _afr_private {
d1681e
         gf_boolean_t metadata_self_heal;   /* on/off */
d1681e
         gf_boolean_t entry_self_heal;      /* on/off */
d1681e
 
d1681e
-        gf_boolean_t data_change_log;       /* on/off */
d1681e
-        gf_boolean_t metadata_change_log;   /* on/off */
d1681e
-        gf_boolean_t entry_change_log;      /* on/off */
d1681e
-
d1681e
 	gf_boolean_t metadata_splitbrain_forced_heal; /* on/off */
d1681e
         int read_child;               /* read-subvolume */
d1681e
         unsigned int hash_mode;       /* for when read_child is not set */
d1681e
@@ -123,9 +119,6 @@ typedef struct _afr_private {
d1681e
         afr_favorite_child_policy fav_child_policy;/*Policy to use for automatic
d1681e
                                                  resolution of split-brains.*/
d1681e
 
d1681e
-        gf_boolean_t inodelk_trace;
d1681e
-        gf_boolean_t entrylk_trace;
d1681e
-
d1681e
         unsigned int wait_count;      /* # of servers to wait for success */
d1681e
 
d1681e
         gf_timer_t *timer;      /* launched when parent up is received */
d1681e
@@ -187,33 +180,6 @@ typedef enum {
d1681e
         AFR_ENTRY_RENAME_TRANSACTION,  /* rename */
d1681e
 } afr_transaction_type;
d1681e
 
d1681e
-typedef enum {
d1681e
-        AFR_TRANSACTION_LK,
d1681e
-        AFR_SELFHEAL_LK,
d1681e
-} transaction_lk_type_t;
d1681e
-
d1681e
-typedef enum {
d1681e
-        AFR_LOCK_OP,
d1681e
-        AFR_UNLOCK_OP,
d1681e
-} afr_lock_op_type_t;
d1681e
-
d1681e
-typedef enum {
d1681e
-        AFR_DATA_SELF_HEAL_LK,
d1681e
-        AFR_METADATA_SELF_HEAL_LK,
d1681e
-        AFR_ENTRY_SELF_HEAL_LK,
d1681e
-}selfheal_lk_type_t;
d1681e
-
d1681e
-typedef enum {
d1681e
-        AFR_INODELK_TRANSACTION,
d1681e
-        AFR_INODELK_NB_TRANSACTION,
d1681e
-        AFR_ENTRYLK_TRANSACTION,
d1681e
-        AFR_ENTRYLK_NB_TRANSACTION,
d1681e
-        AFR_INODELK_SELFHEAL,
d1681e
-        AFR_INODELK_NB_SELFHEAL,
d1681e
-        AFR_ENTRYLK_SELFHEAL,
d1681e
-        AFR_ENTRYLK_NB_SELFHEAL,
d1681e
-} afr_lock_call_type_t;
d1681e
-
d1681e
 /*
d1681e
   xattr format: trusted.afr.volume = [x y z]
d1681e
   x - data pending
d1681e
@@ -286,9 +252,6 @@ typedef struct {
d1681e
         unsigned char *locked_nodes;
d1681e
         unsigned char *lower_locked_nodes;
d1681e
 
d1681e
-        selfheal_lk_type_t selfheal_lk_type;
d1681e
-        transaction_lk_type_t transaction_lk_type;
d1681e
-
d1681e
         int32_t lock_count;
d1681e
         int32_t entrylk_lock_count;
d1681e
 
d1681e
@@ -809,12 +772,6 @@ typedef struct _afr_local {
d1681e
 
d1681e
                 int (*wind) (call_frame_t *frame, xlator_t *this, int subvol);
d1681e
 
d1681e
-                int (*fop) (call_frame_t *frame, xlator_t *this);
d1681e
-
d1681e
-                int (*done) (call_frame_t *frame, xlator_t *this);
d1681e
-
d1681e
-                int (*resume) (call_frame_t *frame, xlator_t *this);
d1681e
-
d1681e
                 int (*unwind) (call_frame_t *frame, xlator_t *this);
d1681e
 
d1681e
                 /* post-op hook */
d1681e
@@ -973,10 +930,6 @@ int
d1681e
 afr_internal_lock_finish (call_frame_t *frame, xlator_t *this);
d1681e
 
d1681e
 int
d1681e
-afr_lk_transfer_datalock (call_frame_t *dst, call_frame_t *src, char *dom,
d1681e
-                          unsigned int child_count);
d1681e
-
d1681e
-int
d1681e
 __afr_fd_ctx_set (xlator_t *this, fd_t *fd);
d1681e
 
d1681e
 afr_fd_ctx_t *
d1681e
@@ -1100,8 +1053,7 @@ int
d1681e
 afr_local_init (afr_local_t *local, afr_private_t *priv, int32_t *op_errno);
d1681e
 
d1681e
 int
d1681e
-afr_internal_lock_init (afr_internal_lock_t *lk, size_t child_count,
d1681e
-                        transaction_lk_type_t lk_type);
d1681e
+afr_internal_lock_init (afr_internal_lock_t *lk, size_t child_count);
d1681e
 
d1681e
 int
d1681e
 afr_higher_errno (int32_t old_errno, int32_t new_errno);
d1681e
@@ -1246,7 +1198,7 @@ void
d1681e
 afr_update_uninodelk (afr_local_t *local, afr_internal_lock_t *int_lock,
d1681e
                     int32_t child_index);
d1681e
 int
d1681e
-afr_is_inodelk_transaction(afr_local_t *local);
d1681e
+afr_is_inodelk_transaction(afr_transaction_type type);
d1681e
 
d1681e
 afr_fd_ctx_t *
d1681e
 __afr_fd_ctx_get (fd_t *fd, xlator_t *this);
d1681e
-- 
d1681e
1.8.3.1
d1681e