<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/bcachefs/bkey_methods.h, branch linux-6.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2023-11-02T01:11:08Z</updated>
<entry>
<title>bcachefs: Enumerate fsck errors</title>
<updated>2023-11-02T01:11:08Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-10-25T00:44:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b65db750e2bb9252321fd54c284edd73c1595a09'/>
<id>urn:sha1:b65db750e2bb9252321fd54c284edd73c1595a09</id>
<content type='text'>
This patch adds a superblock error counter for every distinct fsck
error; this means that when analyzing filesystems out in the wild we'll
be able to see what sorts of inconsistencies are being found and repair,
and hence what bugs to look for.

Errors validating bkeys are not yet considered distinct fsck errors, but
this patch adds a new helper, bkey_fsck_err(), in order to add distinct
error types for them as well.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: All triggers are BTREE_TRIGGER_WANTS_OLD_AND_NEW</title>
<updated>2023-10-31T16:18:37Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-06-23T00:18:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=523f33efbf406f2eb0f071123d17fbbd9e40d692'/>
<id>urn:sha1:523f33efbf406f2eb0f071123d17fbbd9e40d692</id>
<content type='text'>
Upcoming rebalance_work btree will require extent triggers to be
BTREE_TRIGGER_WANTS_OLD_AND_NEW - so to reduce potential confusion,
let's just make all triggers BTREE_TRIGGER_WANTS_OLD_AND_NEW.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: BCH_COMPAT_bformat_overflow_done no longer required</title>
<updated>2023-10-22T21:10:09Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-08-06T14:04:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e08e63e44e65761e6eb53fcd568d194f607daa61'/>
<id>urn:sha1:e08e63e44e65761e6eb53fcd568d194f607daa61</id>
<content type='text'>
Awhile back, we changed bkey_format generation to ensure that the packed
representation could never represent fields larger than the unpacked
representation.

This was to ensure that bkey_packed_successor() always gave a sensible
result, but in the current code bkey_packed_successor() is only used in
a debug assertion - not for anything important.

This kills the requirement that we've gotten rid of those weird bkey
formats, and instead changes the assertion to check if we're dealing
with an old weird bkey format.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: support btree updates of prejournaled keys</title>
<updated>2023-10-22T21:10:08Z</updated>
<author>
<name>Brian Foster</name>
</author>
<published>2023-07-19T12:53:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eabb10dc9561525661d4fda229134a6f8716e007'/>
<id>urn:sha1:eabb10dc9561525661d4fda229134a6f8716e007</id>
<content type='text'>
Introduce support for prejournaled key updates. This allows a
transaction to commit an update for a key that already exists (and
is pinned) in the journal. This is required for btree write buffer
updates as the current scheme of journaling both on write buffer
insertion and write buffer (slow path) flush is unsafe in certain
crash recovery scenarios.

Create a small trans update wrapper to pass along the seq where the
key resides into the btree_insert_entry. From there, trans commit
passes the seq into the btree insert path where it is used to manage
the journal pin for the associated btree leaf.

Note that this patch only introduces the underlying mechanism and
otherwise includes no functional changes.

Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Change check for invalid key types</title>
<updated>2023-10-22T21:10:06Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-07-07T01:16:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8726dc936fb79fda4a0280033cdd180f7f343cdd'/>
<id>urn:sha1:8726dc936fb79fda4a0280033cdd180f7f343cdd</id>
<content type='text'>
As part of the forward compatibility patch series, we need to allow for
new key types without complaining loudly when running an old version.

This patch changes the flags parameter of bkey_invalid to an enum, and
adds a new flag to indicate we're being called from the transaction
commit path.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Allow for unknown key types</title>
<updated>2023-10-22T21:10:05Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-07-06T23:23:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=183e9c430ea9775fdd1f7097f309ef61471562fc'/>
<id>urn:sha1:183e9c430ea9775fdd1f7097f309ef61471562fc</id>
<content type='text'>
This adds a new helper for lookups bkey_ops for a given key type, which
returns a null bkey_ops for unknown key types; various bkey_ops users
are tweaked as well to handle unknown key types.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: bkey_ops.min_val_size</title>
<updated>2023-10-22T21:10:00Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-04-29T17:24:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=174f930b8e1cad3915819a46bb20da214f68f2b5'/>
<id>urn:sha1:174f930b8e1cad3915819a46bb20da214f68f2b5</id>
<content type='text'>
This adds a new field to bkey_ops for the minimum size of the value,
which standardizes that check and also enforces the new rule (previously
done somewhat ad-hoc) that we can extend value types by adding new
fields on to the end.

To make that work we do _not_ initialize min_val_size with sizeof,
instead we initialize it to the size of the first version of those
values.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Btree iterator, update flags no longer conflict</title>
<updated>2023-10-22T21:10:00Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-04-30T22:04:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=95b595a5fc4832305fe1323d934bdcae5f2b9439'/>
<id>urn:sha1:95b595a5fc4832305fe1323d934bdcae5f2b9439</id>
<content type='text'>
Change btree_update_flags to start after the last btree iterator flag,
so that we can pass both in the same flags argument.

This is needed for the upcoming bch2_bkey_get_mut() helper.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: remove unused key cache coherency flag</title>
<updated>2023-10-22T21:10:00Z</updated>
<author>
<name>Brian Foster</name>
</author>
<published>2023-05-01T13:08:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0a23574ebb48844a19cf46672b28e7d439e56454'/>
<id>urn:sha1:0a23574ebb48844a19cf46672b28e7d439e56454</id>
<content type='text'>
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: bch2_mark_key() now takes btree_id &amp; level</title>
<updated>2023-10-22T21:09:55Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-03-02T03:14:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2611a041ae9c35b1bf4e7e1462c77c4096490a4e'/>
<id>urn:sha1:2611a041ae9c35b1bf4e7e1462c77c4096490a4e</id>
<content type='text'>
btree &amp; level are passed to trans_mark - for backpointers -
bch2_mark_key() should take them as well.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
</feed>
