Jules Irenge
2020-Apr-03 16:05 UTC
[Ocfs2-devel] [PATCH 3/5] ocfs2: Add missing annotation for dlm_empty_lockres()
Sparse reports a warning at dlm_empty_lockres()
warning: context imbalance in dlm_purge_lockres() - unexpected unlock
The root cause is the missing annotation at dlm_purge_lockres()
Add the missing __must_hold(&dlm->spinlock)
Signed-off-by: Jules Irenge <jbi.octave at gmail.com>
---
fs/ocfs2/dlm/dlmmaster.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/ocfs2/dlm/dlmmaster.c b/fs/ocfs2/dlm/dlmmaster.c
index 900f7e466d11..8cbd46b3509a 100644
--- a/fs/ocfs2/dlm/dlmmaster.c
+++ b/fs/ocfs2/dlm/dlmmaster.c
@@ -2762,6 +2762,7 @@ static int dlm_migrate_lockres(struct dlm_ctxt *dlm,
* Returns: 1 if dlm->spinlock was dropped/retaken, 0 if never dropped
*/
int dlm_empty_lockres(struct dlm_ctxt *dlm, struct dlm_lock_resource *res)
+ __must_hold(&dlm->spinlock)
{
int ret;
int lock_dropped = 0;
--
2.24.1
Joseph Qi
2020-Apr-03 23:45 UTC
[Ocfs2-devel] [PATCH 3/5] ocfs2: Add missing annotation for dlm_empty_lockres()
On 2020/4/4 00:05, Jules Irenge wrote:> Sparse reports a warning at dlm_empty_lockres() > > warning: context imbalance in dlm_purge_lockres() - unexpected unlock > > The root cause is the missing annotation at dlm_purge_lockres() > > Add the missing __must_hold(&dlm->spinlock) >Seems this is duplicate with assert_spin_locked()? Thanks, Joseph> Signed-off-by: Jules Irenge <jbi.octave at gmail.com> > --- > fs/ocfs2/dlm/dlmmaster.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/ocfs2/dlm/dlmmaster.c b/fs/ocfs2/dlm/dlmmaster.c > index 900f7e466d11..8cbd46b3509a 100644 > --- a/fs/ocfs2/dlm/dlmmaster.c > +++ b/fs/ocfs2/dlm/dlmmaster.c > @@ -2762,6 +2762,7 @@ static int dlm_migrate_lockres(struct dlm_ctxt *dlm, > * Returns: 1 if dlm->spinlock was dropped/retaken, 0 if never dropped > */ > int dlm_empty_lockres(struct dlm_ctxt *dlm, struct dlm_lock_resource *res) > + __must_hold(&dlm->spinlock) > { > int ret; > int lock_dropped = 0; >