Re: [PATCH] btrfs: fix re-dirty process of tree-log nodes
From: Naohiro Aota <Naohiro.Aota@wdc.com>
Date: 2021-11-30 01:51:22
On Mon, Nov 29, 2021 at 07:57:39AM +0000, Johannes Thumshirn wrote:
On 29/11/2021 03:51, Naohiro Aota wrote:quoted
For zoned btrfs, we re-dirty a freeing tree node to ensure btrfs write the region and not to leave a write hole on a zoned device. Current code failed to re-dirty a node when the tree-log tree's depth >= 2. This leads to a transaction abort with -EAGAIN.I'd rephrase the above to: For zoned btrfs, we re-dirty a freed tree node to ensure btrfs can write the region and does not leave a hole on write on a zoned device. The current code fails to failed to re-dirty a node when the tree-log tree's depth was greater or equal to 2. This lead to a transaction abort with -EAGAIN.quoted
Fix the issue by properly re-dirty a node on walking up the tree. Link: https://github.com/kdave/btrfs-progs/issues/415 Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com> ---Reviewed-by: Johannes Thumshirn <redacted> Shouldn't we mark this for stable (v5.15)? After all the reporter did hit the problem on 5.15.
Oops, I've added the fixes tag and the stable tag to the commit, but somehow I forgot to update the patch file. I'll resend the patch with your fix with for the commit log. Thanks.