<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/bcachefs/btree_node_scan.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-06T23:33:53Z</updated>
<entry>
<title>bcachefs: Use sort_nonatomic() instead of sort()</title>
<updated>2025-04-06T23:33:53Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-03-26T15:44:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=55fd97fbc4744a43fb2d134908e481266cf33bda'/>
<id>urn:sha1:55fd97fbc4744a43fb2d134908e481266cf33bda</id>
<content type='text'>
Fixes "task out to lunch" warnings during recovery on large machines
with lots of dirty data in the journal.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: use library APIs for ChaCha20 and Poly1305</title>
<updated>2025-04-06T23:33:53Z</updated>
<author>
<name>Eric Biggers</name>
</author>
<published>2025-04-02T04:33:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4bf4b5046de0ef7f9dc50f3a9ef8a6dcda178a6d'/>
<id>urn:sha1:4bf4b5046de0ef7f9dc50f3a9ef8a6dcda178a6d</id>
<content type='text'>
Just use the ChaCha20 and Poly1305 libraries instead of the clunky
crypto API.  This is much simpler.  It is also slightly faster, since
the libraries provide more direct access to the same
architecture-optimized ChaCha20 and Poly1305 code.

I've tested that existing encrypted bcachefs filesystems can be continue
to be accessed with this patch applied.

Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Signed-off-by: Eric Biggers &lt;ebiggers@google.com&gt;
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: Better printing of inconsistency errors</title>
<updated>2025-03-29T17:26:13Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-03-26T14:41:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d77ce4a273b319f6e9e8d2b6b2415a13bdea66d'/>
<id>urn:sha1:6d77ce4a273b319f6e9e8d2b6b2415a13bdea66d</id>
<content type='text'>
Build up and emit the error message for an inconsistency error all at
once, instead of spread over multiple printk calls, so they're not
jumbled in the dmesg log.

Also, add better indenting.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Fix 'hung task' messages in btree node scan</title>
<updated>2025-03-26T20:26:35Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-03-26T15:26:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ef488bb5d0095ab564241e8001545f49fcb7fa4f'/>
<id>urn:sha1:ef488bb5d0095ab564241e8001545f49fcb7fa4f</id>
<content type='text'>
btree node scan has to wait on kthread workers that scan each device,
potentially for awhile.

We would like this to be interruptible, but we may need a different
mechanism than signals for that - we've had bugs in the past where
mounts were failing due to checking for signals, and no explanation on
where they came from.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Fix btree_node_scan io_ref handling</title>
<updated>2025-03-15T01:02:16Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-03-01T21:14:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2efa8397cac3bb18a129054d22ae58b60fbbdd26'/>
<id>urn:sha1:2efa8397cac3bb18a129054d22ae58b60fbbdd26</id>
<content type='text'>
This was completely fubar; it's now simplified a bit as well.
Note that for_each_online_member() takes and releases io_refs as it
iterates, so we need to release that if we break.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Finish bch2_account_io_completion() conversions</title>
<updated>2025-03-15T01:02:16Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-02-28T19:38:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b31c070407edda710ad087d143353ddd0f2c9499'/>
<id>urn:sha1:b31c070407edda710ad087d143353ddd0f2c9499</id>
<content type='text'>
More prep work for automatically kicking devices out after too many IO
errors.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Use a heap for handling overwrites in btree node scan</title>
<updated>2024-12-21T06:36:22Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2024-12-07T00:23:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bbe36bd0993df2167b883d4af0b849a309350c38'/>
<id>urn:sha1:bbe36bd0993df2167b883d4af0b849a309350c38</id>
<content type='text'>
Fix an O(n^2) issue when we find many overlapping (overwritten) btree
nodes - especially when one node overwrites many smaller nodes.

This was discovered to be an issue with the bcachefs
merge_torture_flakey test - if we had a large btree that was then
emptied, the number of difficult overwrites can be unbounded.

Cc: Kuan-Wei Chiu &lt;visitorckw@gmail.com&gt;
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: struct bkey_validate_context</title>
<updated>2024-12-21T06:36:20Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2024-11-27T05:29:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a6f4794fcd8627638153614193b3b81f37a28175'/>
<id>urn:sha1:a6f4794fcd8627638153614193b3b81f37a28175</id>
<content type='text'>
Add a new parameter to bkey validate functions, and use it to improve
invalid bkey error messages: we can now print the btree and depth it
came from, or if it came from the journal, or is a btree root.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Don't try to en/decrypt when encryption not available</title>
<updated>2024-12-21T06:36:20Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2024-11-25T07:05:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dba8243f3b466dd39ef05ff63890d5acab30c852'/>
<id>urn:sha1:dba8243f3b466dd39ef05ff63890d5acab30c852</id>
<content type='text'>
If a btree node says it's encrypted, but the superblock never had an
encryptino key - whoops, that needs to be handled.

Reported-by: syzbot+026f1857b12f5eb3f9e9@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
</feed>
