<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/bcachefs/alloc_background.h, 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-02T14:24:34Z</updated>
<entry>
<title>bcachefs: bch_dev_usage_full</title>
<updated>2025-04-02T14:24:34Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-03-31T20:09:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=955ba7b5ea0395e9e3377f0ffc14f5dc4a099284'/>
<id>urn:sha1:955ba7b5ea0395e9e3377f0ffc14f5dc4a099284</id>
<content type='text'>
All the fastpaths that need device usage don't need the sector totals or
fragmentation, just bucket counts.

Split bch_dev_usage up into two different versions, the normal one with
just bucket counts.

This is also a stack usage improvement, since we have a bch_dev_usage on
the stack in the allocation path.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: bch2_bkey_ptr_data_type() now correctly returns cached for cached ptrs</title>
<updated>2025-03-15T01:02:13Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-02-07T21:58:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=34a493089af2f2f773c0c802e84b0a493115cd50'/>
<id>urn:sha1:34a493089af2f2f773c0c802e84b0a493115cd50</id>
<content type='text'>
Necessary for adding backpointers for cached pointers.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Don't recurse in check_discard_freespace_key</title>
<updated>2024-12-21T06:36:21Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2024-11-29T00:30:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2cd85fea49d850629404d4668e104466114598e3'/>
<id>urn:sha1:2cd85fea49d850629404d4668e104466114598e3</id>
<content type='text'>
When calling check_discard_freeespace_key from the allocator, we can't
repair without recursing - run it asynchronously instead.

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: try_alloc_bucket() now uses bch2_check_discard_freespace_key()</title>
<updated>2024-12-21T06:36:18Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2024-10-27T04:40:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c97118f1dc5081171625f66f082fe12980a4bcbe'/>
<id>urn:sha1:c97118f1dc5081171625f66f082fe12980a4bcbe</id>
<content type='text'>
check_discard_freespace_key() was doing all the same checks as
try_alloc_bucket(), but with repair.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: fix shift oob in alloc_lru_idx_fragmentation</title>
<updated>2024-10-24T21:41:43Z</updated>
<author>
<name>Jeongjun Park</name>
</author>
<published>2024-10-21T15:43:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5c41f75d1b921b9eaf79588cdd3b22b00fb4ec52'/>
<id>urn:sha1:5c41f75d1b921b9eaf79588cdd3b22b00fb4ec52</id>
<content type='text'>
The size of a.data_type is set abnormally large, causing shift-out-of-bounds.
To fix this, we need to add validation on a.data_type in
alloc_lru_idx_fragmentation().

Reported-by: syzbot+7f45fa9805c40db3f108@syzkaller.appspotmail.com
Fixes: 260af1562ec1 ("bcachefs: Kill alloc_v4.fragmentation_lru")
Signed-off-by: Jeongjun Park &lt;aha310510@gmail.com&gt;
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: bch2_dev_rcu_noerror()</title>
<updated>2024-09-21T15:39:48Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2024-09-01T22:12:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=805ddc204287e74ebd2640c0f088e04f94e98b48'/>
<id>urn:sha1:805ddc204287e74ebd2640c0f088e04f94e98b48</id>
<content type='text'>
bch2_dev_rcu() now properly errors if the device is invalid

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: bch2_dev_remove_alloc() -&gt; alloc_background.c</title>
<updated>2024-09-21T15:39:48Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2024-09-01T21:56:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b812f1dcebfee45d9ef6856404fa666797ac979'/>
<id>urn:sha1:6b812f1dcebfee45d9ef6856404fa666797ac979</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: avoid overflowing LRU_TIME_BITS for cached data lru</title>
<updated>2024-08-16T16:46:40Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2024-08-16T16:41:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9482f3b05332a624508a91c2ab2cf3527328a6a4'/>
<id>urn:sha1:9482f3b05332a624508a91c2ab2cf3527328a6a4</id>
<content type='text'>
Reported-by: syzbot+510b0b28f8e6de64d307@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Make bkey_fsck_err() a wrapper around fsck_err()</title>
<updated>2024-08-14T03:00:50Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2024-08-13T01:31:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d97de0d017cde0d442c3d144b4f969f43064cc0f'/>
<id>urn:sha1:d97de0d017cde0d442c3d144b4f969f43064cc0f</id>
<content type='text'>
bkey_fsck_err() was added as an interface that looks like fsck_err(),
but previously all it did was ensure that the appropriate error counter
was incremented in the superblock.

This is a cleanup and bugfix patch that converts it to a wrapper around
fsck_err(). This is needed to fix an issue with the upgrade path to
disk_accounting_v3, where the "silent fix" error list now includes
bkey_fsck errors; fsck_err() handles this in a unified way, and since we
need to change printing of bkey fsck errors from the caller to the inner
bkey_fsck_err() calls, this ends up being a pretty big change.

Als,, rename .invalid() methods to .validate(), for clarity, while we're
changing the function signature anyways (to drop the printbuf argument).

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