From: "hoyoung seo" <hy50.seo@samsung.com>
To: <linux-scsi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<alim.akhtar@samsung.com>, <avri.altman@wdc.com>,
<jejb@linux.ibm.com>, <martin.petersen@oracle.com>,
<beanhuo@micron.com>, <bvanassche@acm.org>,
<kwangwon.min@samsung.com>, <kwmad.kim@samsung.com>,
<cpgs@samsung.com>, <h10.kim@samsung.com>,
<linux-fsdevel@vger.kernel.org>, <hch@infradead.org>
Subject: Questions about dquota write by writeback in the context of storage shortage
Date: Fri, 8 Aug 2025 14:08:52 +0900 [thread overview]
Message-ID: <000001dc0822$886fc990$994f5cb0$@samsung.com> (raw)
In-Reply-To: CGME20250808050852epcas2p41faca5b3fd8a7bc18cc173ce44650bff@epcas2p4.samsung.com
Hi,
When the storage usage was full(99%), the following panic_on_warm occurred.
In this case, wb_writeback function used writeback workqeue included WQ_MEM_RECLAIM flag.
And wb_writeback function called f2fs_write_single_data_page for updating dquot(Write checkpoint to reclaim prefree segments)
In this case, dquot_writback_dquots function use events_unbound workqueue.
It is not include WQ_MEM_RECLAIM flag.
So occurred this problem.
First of all, I don't think this situation should be created, but I don't know why it's like this
So I guess quota_release_workfn function should use workqueue with WQ_MEM_RECLAIM flag, but is this the right solution?
workqueue: WQ_MEM_RECLAIM writeback:wb_workfn is flushing !WQ_MEM_RECLAIM events_unbound:quota_release_workfn
Call trace:
check_flush_dependency+0x160/0x16c
__flush_work+0x168/0x738
flush_delayed_work+0x58/0x70
dquot_writeback_dquots+0x90/0x4bc
f2fs_do_quota_sync+0x120/0x284
f2fs_write_checkpoint+0x58c/0xe18
f2fs_gc+0x3e8/0xd78
f2fs_balance_fs+0x204/0x284
f2fs_write_single_data_page+0x700/0xaf0
f2fs_write_data_pages+0xe94/0x15bc
do_writepages+0x170/0x3f8
__writeback_single_inode+0xa0/0x8c4
writeback_sb_inodes+0x2ac/0x708
__writeback_inodes_wb+0xc0/0x118
wb_writeback+0x1f4/0x664
wb_workfn+0x62c/0x900
Thanks.
parent reply other threads:[~2025-08-08 5:09 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <CGME20250808050852epcas2p41faca5b3fd8a7bc18cc173ce44650bff@epcas2p4.samsung.com>]
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='000001dc0822$886fc990$994f5cb0$@samsung.com' \
--to=hy50.seo@samsung.com \
--cc=alim.akhtar@samsung.com \
--cc=avri.altman@wdc.com \
--cc=beanhuo@micron.com \
--cc=bvanassche@acm.org \
--cc=cpgs@samsung.com \
--cc=h10.kim@samsung.com \
--cc=hch@infradead.org \
--cc=jejb@linux.ibm.com \
--cc=kwangwon.min@samsung.com \
--cc=kwmad.kim@samsung.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/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).