<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/bcachefs/alloc_background.c, branch linux-6.15.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-04-03T16:11:43Z</updated>
<entry>
<title>bcachefs: Fix null ptr deref in invalidate_one_bucket()</title>
<updated>2025-04-03T16:11:43Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-04-02T16:48:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=39ebd74864f5c4f7d44f1fe026c71a270631186b'/>
<id>urn:sha1:39ebd74864f5c4f7d44f1fe026c71a270631186b</id>
<content type='text'>
bch2_backpointer_get_key() returns bkey_s_c_null when the target isn't
found.

backpointer_get_key() flags the error, so there's nothing else to do
here - just skip it and move on.

Link: https://github.com/koverstreet/bcachefs/issues/847
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Kill btree_iter.trans</title>
<updated>2025-04-02T14:24:34Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-03-21T19:18:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9180ad2e161b7030e0af78fd2266cbcefe81e652'/>
<id>urn:sha1:9180ad2e161b7030e0af78fd2266cbcefe81e652</id>
<content type='text'>
This was planned to be done ages ago, now finally completed; there are
places where we have quite a few btree_trans objects on the stack, so
this reduces stack usage somewhat.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Split up bch_dev.io_ref</title>
<updated>2025-04-02T14:24:34Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-03-30T03:11:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dcffc3b1ae3251d796a25c673f614e3099ca83d3'/>
<id>urn:sha1:dcffc3b1ae3251d796a25c673f614e3099ca83d3</id>
<content type='text'>
We now have separate per device io_refs for read and write access.

This fixes a device removal bug where the discard workers were still
running while we're removing alloc info for that device.

It's also a bit of hardening; we no longer allow writes to devices that
are read-only.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Consistent indentation of multiline fsck errors</title>
<updated>2025-03-29T02:31:47Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-03-26T17:21:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1ece53237e83edb12cb6c1a8b91f54735e64d95f'/>
<id>urn:sha1:1ece53237e83edb12cb6c1a8b91f54735e64d95f</id>
<content type='text'>
Add the new helper printbuf_indent_add_nextline(), and use it in
__bch2_fsck_err() to centralize setting the indentation of multiline
fsck errors.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Recovery no longer holds state_lock</title>
<updated>2025-03-28T15:13:25Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-03-26T15:41:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2dd202dbaf0acfa4af7fcdf258f35866e31f7425'/>
<id>urn:sha1:2dd202dbaf0acfa4af7fcdf258f35866e31f7425</id>
<content type='text'>
state_lock guards against devices coming or leaving, changing state, or
the filesystem changing between ro &lt;-&gt; rw.

But it's not necessary for running recovery passes, and holding it
blocks asynchronous events that would cause us to go RO or kick out
devices.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: bch2_disk_accounting_mod2()</title>
<updated>2025-03-24T13:50:37Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-03-21T16:29:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f4a584f4bf64e0db30312088d504d4da29ca556b'/>
<id>urn:sha1:f4a584f4bf64e0db30312088d504d4da29ca556b</id>
<content type='text'>
We're hitting some issues with uninitialized struct padding, flagged by
kmsan.

They appear to be falso positives, otherwise bch2_accounting_validate()
would have flagged them as "junk at end". But for now, we'll need to
initialize disk_accounting_pos with memset().

This adds a new helper, bch2_disk_accounting_mod2(), that initializes a
disk_accounting_pos and does the accounting mod all at once - so overall
things actually get slightly more ergonomic.

BCH_DISK_ACCOUNTING_replicas keys are left for now; KMSAN isn't warning
about them and they're a bit special.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: EIO cleanup</title>
<updated>2025-03-24T13:50:36Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-03-20T14:16:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8a9f3d058279ed0f99114e0449d129fb5abc5eca'/>
<id>urn:sha1:8a9f3d058279ed0f99114e0449d129fb5abc5eca</id>
<content type='text'>
Replace these with proper private error codes, so that when we get an
error message we're not sifting through the entire codebase to see where
it came from.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Filesystem discard option now propagates to devices</title>
<updated>2025-03-24T13:50:35Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-03-13T04:54:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=80be08cdb5a82208a0bb67ad93b3fb7447fd2873'/>
<id>urn:sha1:80be08cdb5a82208a0bb67ad93b3fb7447fd2873</id>
<content type='text'>
the discard option is special, because it's both a filesystem and a
device option.

When set at the filesytsem level, it's supposed to propagate to (if set
persistently via sysfs) or override (if non persistently as a mount
option) the devices - that now works correctly.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Fix error type in bch2_alloc_v3_validate()</title>
<updated>2025-03-15T01:02:15Z</updated>
<author>
<name>Thorsten Blum</name>
</author>
<published>2025-03-10T19:20:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bafd41b435afebe40ce931cc4599e5aa330788f3'/>
<id>urn:sha1:bafd41b435afebe40ce931cc4599e5aa330788f3</id>
<content type='text'>
Use error type alloc_v3_unpack_error in bch2_alloc_v3_validate().

Fixes: b65db750e2bb ("bcachefs: Enumerate fsck errors")
Signed-off-by: Thorsten Blum &lt;thorsten.blum@linux.dev&gt;
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: bcachefs_metadata_version_stripe_lru</title>
<updated>2025-03-15T01:02:15Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-02-08T02:31:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6756e385a5bdf2e048ce2894208af9497062dcb9'/>
<id>urn:sha1:6756e385a5bdf2e048ce2894208af9497062dcb9</id>
<content type='text'>
Add a persistent LRU for stripes, ordered by "number of empty blocks",
i.e. order in which we wish to reuse them.

This will replace the in-memory stripes heap, so we can kill off reading
stripes into memory at startup.

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