From be47e0ba4fc92bd065ac0b7ad345913eea1bc6fc Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Fri, 29 Sep 2023 15:49:16 -0400 Subject: bcachefs: KEY_TYPE_error now counts towards i_sectors KEY_TYPE_error is used when all replicas in an extent are marked as failed; it indicates that data was present, but has been lost. So that i_sectors doesn't change when replacing extents with KEY_TYPE_error, we now have to count error keys as allocations - this fixes fsck errors later. Signed-off-by: Kent Overstreet --- fs/bcachefs/extents.h | 1 + 1 file changed, 1 insertion(+) (limited to 'fs/bcachefs/extents.h') diff --git a/fs/bcachefs/extents.h b/fs/bcachefs/extents.h index db1863165d62..978ae5e7e8b1 100644 --- a/fs/bcachefs/extents.h +++ b/fs/bcachefs/extents.h @@ -520,6 +520,7 @@ static inline bool bkey_extent_is_allocation(const struct bkey *k) case KEY_TYPE_reflink_v: case KEY_TYPE_inline_data: case KEY_TYPE_indirect_inline_data: + case KEY_TYPE_error: return true; default: return false; -- cgit v1.2.3