summaryrefslogtreecommitdiffstats
path: root/xlators/features/locks/src/internal.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/features/locks/src/internal.c')
-rw-r--r--xlators/features/locks/src/internal.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/xlators/features/locks/src/internal.c b/xlators/features/locks/src/internal.c
index 487826587..34087da6e 100644
--- a/xlators/features/locks/src/internal.c
+++ b/xlators/features/locks/src/internal.c
@@ -618,6 +618,9 @@ grant_blocked_entry_locks (xlator_t *this, pl_inode_t *pl_inode,
list_for_each_entry_safe (lock, tmp, &granted_list, blocked_locks) {
list_del_init (&lock->blocked_locks);
+ entrylk_trace_out (this, lock->frame, NULL, NULL, NULL,
+ lock->basename, ENTRYLK_LOCK, lock->type,
+ 0, 0);
STACK_UNWIND (lock->frame, 0, 0);
FREE (lock->basename);
@@ -715,6 +718,8 @@ pl_entrylk (call_frame_t *frame, xlator_t *this,
pid = frame->root->pid;
transport = frame->root->trans;
+ entrylk_trace_in (this, frame, volume, NULL, loc, basename, cmd, type);
+
if (pid == 0) {
/*
this is a special case that means release
@@ -786,8 +791,13 @@ pl_entrylk (call_frame_t *frame, xlator_t *this,
out:
pl_update_refkeeper (this, loc->inode);
if (unwind) {
+ entrylk_trace_out (this, frame, volume, NULL, loc, basename,
+ cmd, type, op_ret, op_errno);
STACK_UNWIND (frame, op_ret, op_errno);
- }
+ } else {
+ entrylk_trace_block (this, frame, volume, NULL, loc, basename,
+ cmd, type);
+ }
return 0;
}
@@ -825,6 +835,8 @@ pl_fentrylk (call_frame_t *frame, xlator_t *this,
pid = frame->root->pid;
transport = frame->root->trans;
+ entrylk_trace_in (this, frame, volume, fd, NULL, basename, cmd, type);
+
if (pid == 0) {
/*
this is a special case that means release
@@ -893,8 +905,13 @@ pl_fentrylk (call_frame_t *frame, xlator_t *this,
out:
pl_update_refkeeper (this, fd->inode);
if (unwind) {
+ entrylk_trace_out (this, frame, volume, fd, NULL, basename,
+ cmd, type, op_ret, op_errno);
STACK_UNWIND (frame, op_ret, op_errno);
- }
+ } else {
+ entrylk_trace_block (this, frame, volume, fd, NULL, basename,
+ cmd, type);
+ }
return 0;
}