From: Filipe Manana Date: Wed, 28 May 2025 14:28:26 +0000 (+0100) Subject: btrfs: assert we join log transaction at btrfs_del_inode_ref_in_log() X-Git-Tag: block-6.17-20250808~77^2~145 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=d94edb0d7e38e520174c0846afa5337319c1ac5f;p=linux-block.git btrfs: assert we join log transaction at btrfs_del_inode_ref_in_log() We are supposed to be able to join a log transaction at that point, since we have determined that the inode was logged in the current transaction with the call to inode_logged(). So ASSERT() we joined a log transaction and also warn if we didn't in case assertions are disabled (the kernel config doesn't have CONFIG_BTRFS_ASSERT=y), so that the issue gets noticed and reported if it ever happens. Reviewed-by: Boris Burkov Signed-off-by: Filipe Manana Reviewed-by: David Sterba Signed-off-by: David Sterba --- diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index cc384f78dd21..9420568131ab 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c @@ -3513,7 +3513,8 @@ void btrfs_del_inode_ref_in_log(struct btrfs_trans_handle *trans, } ret = join_running_log_trans(root); - if (ret) + ASSERT(ret == 0, "join_running_log_trans() ret=%d", ret); + if (WARN_ON(ret)) return; log = root->log_root; mutex_lock(&inode->log_mutex);