From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@01.org, Jan Kara <jack@suse.cz>
Cc: Dan Carpenter <dan.carpenter@oracle.com>,
Linux Memory Management List <linux-mm@kvack.org>
Subject: [mmotm:master 64/350] fs/ocfs2/dlmglue.c:3184 ocfs2_mark_lockres_freeing() error: double lock 'irqsave:flags'
Date: Wed, 26 Feb 2014 13:48:35 +0300 [thread overview]
Message-ID: <20140226104835.GY26776@mwanda> (raw)
[ False positive, this is not a bug, it's just that the second IRQ save
is unnecessary ].
Hi Jan,
FYI, there are new smatch warnings show up in
tree: git://git.cmpxchg.org/linux-mmotm.git master
head: a6a1126d3535f0bd8d7c56810061541a4f5595af
commit: c8acdd9e9cf2dd5a5f62034dfaf93c721b3f405d [64/350] ocfs2: avoid blocking in ocfs2_mark_lockres_freeing() in downconvert thread
fs/ocfs2/dlmglue.c:3184 ocfs2_mark_lockres_freeing() error: double lock 'irqsave:flags'
fs/ocfs2/dlmglue.c:3204 ocfs2_mark_lockres_freeing() error: double unlock 'irqsave:flags'
git remote add mmotm git://git.cmpxchg.org/linux-mmotm.git
git remote update mmotm
git checkout c8acdd9e9cf2dd5a5f62034dfaf93c721b3f405d
vim +3184 fs/ocfs2/dlmglue.c
c8acdd9e Jan Kara 2014-02-25 3178 * ocfs2_clear_inode()
c8acdd9e Jan Kara 2014-02-25 3179 * ocfs2_mark_lockres_freeing()
c8acdd9e Jan Kara 2014-02-25 3180 * ... blocks waiting for OCFS2_LOCK_QUEUED
c8acdd9e Jan Kara 2014-02-25 3181 * since we are the downconvert thread which
c8acdd9e Jan Kara 2014-02-25 3182 * should clear the flag.
c8acdd9e Jan Kara 2014-02-25 3183 */
c8acdd9e Jan Kara 2014-02-25 @3184 spin_lock_irqsave(&osb->dc_task_lock, flags);
c8acdd9e Jan Kara 2014-02-25 3185 list_del_init(&lockres->l_blocked_list);
c8acdd9e Jan Kara 2014-02-25 3186 osb->blocked_lock_count--;
c8acdd9e Jan Kara 2014-02-25 3187 spin_unlock_irqrestore(&osb->dc_task_lock, flags);
c8acdd9e Jan Kara 2014-02-25 3188 lockres_clear_flags(lockres, OCFS2_LOCK_QUEUED);
c8acdd9e Jan Kara 2014-02-25 3189 goto out_unlock;
c8acdd9e Jan Kara 2014-02-25 3190 }
ccd979bd Mark Fasheh 2005-12-15 3191 while (lockres->l_flags & OCFS2_LOCK_QUEUED) {
ccd979bd Mark Fasheh 2005-12-15 3192 lockres_add_mask_waiter(lockres, &mw, OCFS2_LOCK_QUEUED, 0);
ccd979bd Mark Fasheh 2005-12-15 3193 spin_unlock_irqrestore(&lockres->l_lock, flags);
ccd979bd Mark Fasheh 2005-12-15 3194
ccd979bd Mark Fasheh 2005-12-15 3195 mlog(0, "Waiting on lockres %s\n", lockres->l_name);
ccd979bd Mark Fasheh 2005-12-15 3196
ccd979bd Mark Fasheh 2005-12-15 3197 status = ocfs2_wait_for_mask(&mw);
ccd979bd Mark Fasheh 2005-12-15 3198 if (status)
ccd979bd Mark Fasheh 2005-12-15 3199 mlog_errno(status);
ccd979bd Mark Fasheh 2005-12-15 3200
ccd979bd Mark Fasheh 2005-12-15 3201 spin_lock_irqsave(&lockres->l_lock, flags);
ccd979bd Mark Fasheh 2005-12-15 3202 }
c8acdd9e Jan Kara 2014-02-25 3203 out_unlock:
ccd979bd Mark Fasheh 2005-12-15 @3204 spin_unlock_irqrestore(&lockres->l_lock, flags);
ccd979bd Mark Fasheh 2005-12-15 3205 }
ccd979bd Mark Fasheh 2005-12-15 3206
d680efe9 Mark Fasheh 2006-09-08 3207 void ocfs2_simple_drop_lockres(struct ocfs2_super *osb,
---
0-DAY kernel build testing backend Open Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild Intel Corporation
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next reply other threads:[~2014-02-26 10:49 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-26 10:48 Dan Carpenter [this message]
2014-02-26 11:02 ` [mmotm:master 64/350] fs/ocfs2/dlmglue.c:3184 ocfs2_mark_lockres_freeing() error: double lock 'irqsave:flags' Jan Kara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140226104835.GY26776@mwanda \
--to=dan.carpenter@oracle.com \
--cc=jack@suse.cz \
--cc=kbuild@01.org \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.