diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-09-29 15:49:16 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-18 18:24:50 -0400 |
commit | 4979f640f5fda602af5c398fe380142acfe50173 (patch) | |
tree | 2caf8b925c71ec762f327b6d5d02b303e2bcbf46 | |
parent | f516b1c0c4c86d4d6cdc52806c5bf39dd6bfaf4b (diff) |
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 <kent.overstreet@linux.dev>
-rw-r--r-- | fs/bcachefs/extents.h | 1 |
1 files changed, 1 insertions, 0 deletions
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; |