代码拉取完成,页面将自动刷新
From 5b549cbf3f1873054c6d187b09aa9f9313971b1f Mon Sep 17 00:00:00 2001
From: Kinglong Mee <[email protected]>
Date: Mon, 18 Mar 2019 20:47:54 +0800
Subject: [PATCH 414/449] cluster-syncop: avoid duplicate unlock of
inodelk/entrylk
When using ec, there are many spam messages in brick and client
logs files.
When shd does entry heal, it takes lock on a directory using
cluster_tiebreaker_inodelk(). If it does not get lock on all
the bricks because other clients has got lock on some bricks,
it will unlock the locks on those bricks which it got and then
will try blocking locks (If any one of the previous was successful).
The problem come here. In case we do not get locks on all the
required bricks, we are sending unlock request twice on those
bricks where we got the locks.
BUG: 1750211
> Upstream patch: https://review.gluster.org/#/c/glusterfs/+/22377/
> Change-Id: Ib164d29ebb071f620a4ca9679c4345ef7c88512a
> Updates: bz#1689920
> Signed-off-by: Kinglong Mee <[email protected]>
Change-Id: I1647548ba75fdd27fd4e20dec08db67774f43375
Reviewed-on: https://code.engineering.redhat.com/gerrit/202477
Tested-by: Ashish Pandey <[email protected]>
Tested-by: RHGS Build Bot <[email protected]>
Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <[email protected]>
---
libglusterfs/src/cluster-syncop.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/libglusterfs/src/cluster-syncop.c b/libglusterfs/src/cluster-syncop.c
index 5a08f26..6ee89dd 100644
--- a/libglusterfs/src/cluster-syncop.c
+++ b/libglusterfs/src/cluster-syncop.c
@@ -1203,6 +1203,10 @@ cluster_tiebreaker_inodelk(xlator_t **subvols, unsigned char *on,
if (num_success) {
FOP_SEQ(subvols, on, numsubvols, replies, locked_on, frame,
inodelk, dom, &loc, F_SETLKW, &flock, NULL);
+ } else {
+ loc_wipe(&loc);
+ memset(locked_on, 0, numsubvols);
+ return 0;
}
break;
}
@@ -1244,7 +1248,9 @@ cluster_tiebreaker_entrylk(xlator_t **subvols, unsigned char *on,
entrylk, dom, &loc, name, ENTRYLK_LOCK, ENTRYLK_WRLCK,
NULL);
} else {
+ loc_wipe(&loc);
memset(locked_on, 0, numsubvols);
+ return 0;
}
break;
}
--
1.8.3.1
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。