Messages in this thread |  | | Date | Fri, 3 Apr 2026 12:32:39 -0700 | | From | Andrew Morton <> | | Subject | Re: [PATCH v8 1/1] ocfs2: split transactions in dio completion to avoid credit exhaustion |
| |
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
|  |