path: root/xlators
diff options
authorvmallika <>2015-07-07 16:03:26 +0530
committerRaghavendra G <>2015-07-12 23:41:31 -0700
commit4cd60d5456c2ff0fe0455c8d1d534776bb8269c4 (patch)
tree9ebb718bb150316841d0c6e1f40d8bd57fe6489f /xlators
parent8a210d46424c2c7a20a9e8a94b0a4719df7cb8c7 (diff)
quota/marker: set lk_owner when taking lock on parent in rename
This is a backport of Before doing a rename operation marker takes inode lock on the file parent, here lk_owner is NULL and this can cause accounting problem with multiple rename on the same directory This patch fix the problem by setting lk_owner > Change-Id: Ibb789e39b2833e425d0a5fca85282ff1465206cb > BUG: 1240598 > Signed-off-by: vmallika <> Change-Id: Ibd3abaee2dd5d132906a79a518fbcedcdefc4552 BUG: 1241487 Signed-off-by: vmallika <> Reviewed-on: Tested-by: Gluster Build System <> Tested-by: NetBSD Build System <> Reviewed-by: Raghavendra G <>
Diffstat (limited to 'xlators')
1 files changed, 3 insertions, 0 deletions
diff --git a/xlators/features/marker/src/marker.c b/xlators/features/marker/src/marker.c
index 414177aa6c5..c7c9fd38c1a 100644
--- a/xlators/features/marker/src/marker.c
+++ b/xlators/features/marker/src/marker.c
@@ -1598,6 +1598,9 @@ marker_rename (call_frame_t *frame, xlator_t *this, loc_t *oldloc,
local->xdata = dict_ref (xdata);
+ if (is_lk_owner_null (&frame->root->lk_owner))
+ set_lk_owner_from_ptr (&frame->root->lk_owner, frame->root);
STACK_WIND (frame,