mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Joseph Qi <joseph.qi@linux.alibaba.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	Heming Zhao <heming.zhao@suse.com>
Cc: ocfs2-devel@lists.linux.dev, linux-kernel@vger.kernel.org,
	jack@suse.cz, glass.su@suse.com
Subject: Re: [PATCH v8 1/1] ocfs2: split transactions in dio completion to avoid credit exhaustion
Date: Tue, 7 Apr 2026 11:04:44 +0800	[thread overview]
Message-ID: <f863f63e-3872-4a70-ab29-174a2e408232@linux.alibaba.com> (raw)
In-Reply-To: <20260403123239.5e49f98fc752b24cf309f453@linux-foundation.org>



On 4/4/26 3:32 AM, Andrew Morton wrote:
> On Thu,  2 Apr 2026 21:43:27 +0800 Heming Zhao <heming.zhao@suse.com> wrote:
> 
>> During ocfs2 dio operations, JBD2 may report warnings via following
>> call trace:
>> ocfs2_dio_end_io_write
>>  ocfs2_mark_extent_written
>>   ocfs2_change_extent_flag
>>    ocfs2_split_extent
>>     ocfs2_try_to_merge_extent
>>      ocfs2_extend_rotate_transaction
>>       ocfs2_extend_trans
>>        jbd2__journal_restart
>>         start_this_handle
>>          output: JBD2: kworker/6:2 wants too many credits credits:5450 rsv_credits:0 max:5449
>>
>> To prevent exceeding the credits limit, modify ocfs2_dio_end_io_write() to
>> handle extents in a batch of transaction.
>>
>> Additionally, relocate ocfs2_del_inode_from_orphan(). The orphan inode should
>> only be removed from the orphan list after the extent tree update is complete.
>> This ensures that if a crash occurs in the middle of extent tree updates, we
>> won't leave stale blocks beyond EOF.
>>
>> This patch also changes the logic for updating the inode size and removing
>> orphan, making it similar to ext4_dio_write_end_io(). Both operations are
>> performed only when everything looks good.
>>
>> Finally, thanks to Jans and Joseph for providing the bug fix prototype and
>> suggestions.
> 
> AI review has a question:
> 	https://sashiko.dev/#/patchset/20260402134328.27334-2-heming.zhao@suse.com

There are two paths to recover:
1. During next write to the same file, ocfs2_add_inode_to_orphan() will
manually recover it first.
2. During next mount or node recover, ocfs2_recover_orphans() will also
do the same recovery operations (truncate + delete from orphan).

So I think it is false positive report.

Thanks,
Joseph

      reply	other threads:[~2026-04-07  3:04 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-02 13:43 [PATCH v8 0/1] " Heming Zhao
2026-04-02 13:43 ` [PATCH v8 1/1] " Heming Zhao
2026-04-03  1:31   ` Joseph Qi
2026-04-03 19:32   ` Andrew Morton
2026-04-07  3:04     ` Joseph Qi [this message]

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=f863f63e-3872-4a70-ab29-174a2e408232@linux.alibaba.com \
    --to=joseph.qi@linux.alibaba.com \
    --cc=akpm@linux-foundation.org \
    --cc=glass.su@suse.com \
    --cc=heming.zhao@suse.com \
    --cc=jack@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ocfs2-devel@lists.linux.dev \
    /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

Powered by JetHome