[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <172476284019.635532.18117773418669271542.b4-ty@mit.edu>
Date: Tue, 27 Aug 2024 08:47:23 -0400
From: "Theodore Ts'o" <tytso@....edu>
To: linux-ext4@...r.kernel.org, libaokun@...weicloud.com
Cc: "Theodore Ts'o" <tytso@....edu>, jack@...e.cz,
linux-kernel@...r.kernel.org, yi.zhang@...wei.com,
yangerkun@...wei.com, Baokun Li <libaokun1@...wei.com>,
stable@...nel.org
Subject: Re: [PATCH] jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error
On Thu, 18 Jul 2024 19:53:36 +0800, libaokun@...weicloud.com wrote:
> In __jbd2_log_wait_for_space(), we might call jbd2_cleanup_journal_tail()
> to recover some journal space. But if an error occurs while executing
> jbd2_cleanup_journal_tail() (e.g., an EIO), we don't stop waiting for free
> space right away, we try other branches, and if j_committing_transaction
> is NULL (i.e., the tid is 0), we will get the following complain:
>
> ============================================
> JBD2: I/O error when updating journal superblock for sdd-8.
> __jbd2_log_wait_for_space: needed 256 blocks and only had 217 space available
> __jbd2_log_wait_for_space: no way to get more journal space in sdd-8
> ------------[ cut here ]------------
> WARNING: CPU: 2 PID: 139804 at fs/jbd2/checkpoint.c:109 __jbd2_log_wait_for_space+0x251/0x2e0
> Modules linked in:
> CPU: 2 PID: 139804 Comm: kworker/u8:3 Not tainted 6.6.0+ #1
> RIP: 0010:__jbd2_log_wait_for_space+0x251/0x2e0
> Call Trace:
> <TASK>
> add_transaction_credits+0x5d1/0x5e0
> start_this_handle+0x1ef/0x6a0
> jbd2__journal_start+0x18b/0x340
> ext4_dirty_inode+0x5d/0xb0
> __mark_inode_dirty+0xe4/0x5d0
> generic_update_time+0x60/0x70
> [...]
> ============================================
>
> [...]
Applied, thanks!
[1/1] jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error
commit: f5cacdc6f2bb2a9bf214469dd7112b43dd2dd68a
Best regards,
--
Theodore Ts'o <tytso@....edu>
Powered by blists - more mailing lists