From: bugzilla-daemon@bugzilla.kernel.org
To: linux-f2fs-devel@lists.sourceforge.net
Subject: [f2fs-dev] [Bug 208565] There may be dead lock for cp_rwsem during checkpoint
Date: Fri, 24 Jul 2020 03:38:48 +0000 [thread overview]
Message-ID: <bug-208565-202145-6LJawQi8I5@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-208565-202145@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=208565
--- Comment #9 from yuchao0@huawei.com ---
On 2020/7/24 11:21, bugzilla-daemon@bugzilla.kernel.org wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=208565
>
> --- Comment #8 from Jaegeuk Kim (jaegeuk@kernel.org) ---
> Chao, why do we need to revert that patch?
After applying your new patch, below race condition should no longer
happen, right?
Thread A Thread B
f2fs_write_checkpoint()
- block_operations(sbi)
- f2fs_lock_all(sbi);
- down_write(&sbi->cp_rwsem);
- open()
- igrab()
- write() write inline data
- unlink()
- f2fs_sync_node_pages()
+ if (!do_balance)
+ goto write_node; <---- this avoids running into iput().
- if (is_inline_node(page))
- flush_inline_data()
- ilookup()
page = f2fs_pagecache_get_page()
if (!page)
goto iput_out;
iput_out:
-close()
-iput()
iput(inode);
- f2fs_evict_inode()
- f2fs_truncate_blocks()
- f2fs_lock_op()
- down_read(&sbi->cp_rwsem);
>
> Zhiguo,
> You can see the patch here.
>
> https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/commit/?h=dev&id=b0f3b87fb3abc42c81d76c6c5795f26dbdb2f04b
>
--
You are receiving this mail because:
You are watching the assignee of the bug.
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next prev parent reply other threads:[~2020-07-24 3:39 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-15 12:24 [f2fs-dev] [Bug 208565] New: There may be dead lock for cp_rwsem during checkpoint bugzilla-daemon
2020-07-16 17:15 ` [f2fs-dev] [Bug 208565] " bugzilla-daemon
2020-07-24 1:31 ` Chao Yu
2020-07-17 1:54 ` bugzilla-daemon
2020-07-17 2:02 ` bugzilla-daemon
2020-07-17 2:26 ` bugzilla-daemon
2020-07-17 6:16 ` [f2fs-dev] Fwd: " Chao Yu
2020-07-17 2:47 ` [f2fs-dev] " bugzilla-daemon
2020-07-23 7:11 ` bugzilla-daemon
2020-07-24 1:31 ` bugzilla-daemon
2020-07-24 3:21 ` bugzilla-daemon
2020-07-24 3:38 ` Chao Yu
2020-07-24 3:38 ` bugzilla-daemon [this message]
2020-07-24 3:56 ` bugzilla-daemon
2020-07-24 6:36 ` bugzilla-daemon
2020-07-24 17:25 ` bugzilla-daemon
2022-09-27 0:48 ` bugzilla-daemon
2022-09-27 0:49 ` bugzilla-daemon
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=bug-208565-202145-6LJawQi8I5@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@bugzilla.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
/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 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).