cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] [PATCH dlm/next 1/3] fs: dlm: move assert into release function
@ 2022-06-24  1:28 Alexander Aring
  2022-06-24  1:28 ` [Cluster-devel] [PATCH dlm/next 2/3] fs: dlm: fix context imbalance warning in __put_lkb() Alexander Aring
  2022-06-24  1:29 ` [Cluster-devel] [PATCH dlm/next 3/3] fs: dlm: fix context imbalance warning in put_rsb() Alexander Aring
  0 siblings, 2 replies; 3+ messages in thread
From: Alexander Aring @ 2022-06-24  1:28 UTC (permalink / raw)
  To: cluster-devel.redhat.com

This patch moves the assert if unhold_lkb() hits lkb->lkb_ref zero into
the release function. Instead of kill_lkb() which has an assert if
lkb->lkb_status is non-zero. The assert in kill_lkb() has nothing todo
with unhold a lkb and probably was only used here to call something if
it it's zero. The unhold_lkb() should never release a lkb so we move the
assert to the release functionality.

Signed-off-by: Alexander Aring <aahringo@redhat.com>
---
 fs/dlm/lock.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index 739f09d0951c..dac7eb75dba9 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -1310,6 +1310,13 @@ static inline void hold_lkb(struct dlm_lkb *lkb)
 	kref_get(&lkb->lkb_ref);
 }
 
+static void unhold_lkb_assert(struct kref *kref)
+{
+	struct dlm_lkb *lkb = container_of(kref, struct dlm_lkb, lkb_ref);
+
+	DLM_ASSERT(false, dlm_print_lkb(lkb););
+}
+
 /* This is called when we need to remove a reference and are certain
    it's not the last ref.  e.g. del_lkb is always called between a
    find_lkb/put_lkb and is always the inverse of a previous add_lkb.
@@ -1317,9 +1324,7 @@ static inline void hold_lkb(struct dlm_lkb *lkb)
 
 static inline void unhold_lkb(struct dlm_lkb *lkb)
 {
-	int rv;
-	rv = kref_put(&lkb->lkb_ref, kill_lkb);
-	DLM_ASSERT(!rv, dlm_print_lkb(lkb););
+	kref_put(&lkb->lkb_ref, unhold_lkb_assert);
 }
 
 static void lkb_add_ordered(struct list_head *new, struct list_head *head,
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-06-24  1:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-24  1:28 [Cluster-devel] [PATCH dlm/next 1/3] fs: dlm: move assert into release function Alexander Aring
2022-06-24  1:28 ` [Cluster-devel] [PATCH dlm/next 2/3] fs: dlm: fix context imbalance warning in __put_lkb() Alexander Aring
2022-06-24  1:29 ` [Cluster-devel] [PATCH dlm/next 3/3] fs: dlm: fix context imbalance warning in put_rsb() Alexander Aring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).