]> www.infradead.org Git - users/dwmw2/linux.git/commit
bcachefs: bcachefs_metadata_version_extent_flags
authorKent Overstreet <kent.overstreet@linux.dev>
Tue, 25 Feb 2025 01:29:58 +0000 (20:29 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sat, 15 Mar 2025 01:02:15 +0000 (21:02 -0400)
commit4a90675cfe18acbbfe1c3a9c2ef682f5976478ab
treeff8175e0682d447e2289c71bfbfff0ac008e5b3c
parent6422bf8117cc2a8922b908a2634c01f4a2cd1818
bcachefs: bcachefs_metadata_version_extent_flags

This implements a new extent field bitflags that apply to the whole
extent. There's been a couple things we've wanted this for in the past,
but the immediate need is extent poisoning, to solve a rebalance issue.

Unknown extent fields can't be parsed (we won't known their size, so we
can't advance to the next field), so this is an incompat feature, and
using it prevents the filesystem from being mounted by old versions.

This also adds the BCH_EXTENT_poisoned flag; this indicates that the
data is known to be bad (i.e. there was a checksum error, and we had to
write a new checksum) and reads will return errors.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/bcachefs_format.h
fs/bcachefs/errcode.h
fs/bcachefs/extents.c
fs/bcachefs/extents.h
fs/bcachefs/extents_format.h
fs/bcachefs/sb-errors_format.h