<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/bcachefs/inode.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-06-10T11:17:09Z</updated>
<entry>
<title>bcachefs: Run may_delete_deleted_inode() checks in bch2_inode_rm()</title>
<updated>2025-06-10T11:17:09Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-06-02T21:43:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=00d26f3a47e44bd7662de33b89dd84a3837e2959'/>
<id>urn:sha1:00d26f3a47e44bd7662de33b89dd84a3837e2959</id>
<content type='text'>
commit 09fb85ae565645b982e9030dbb2ff6707f2cdddc upstream.

We had a bug where bch2_evict_inode() incorrectly called bch2_inode_rm()
- the journal clearly showed the inode was not unlinked.

We've got checks that we use in recovery when cleaning up deleted
inodes, lift them to bch2_inode_rm() as well.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bcachefs: delete dead code from may_delete_deleted_inode()</title>
<updated>2025-06-10T11:17:09Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-06-02T22:26:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fd1b2ef7216a29ad6a27ed43c7298ed8e4a9a0e7'/>
<id>urn:sha1:fd1b2ef7216a29ad6a27ed43c7298ed8e4a9a0e7</id>
<content type='text'>
commit bb6689bbeebc6fb51f0f120b486bdcc9a38ffcf6 upstream.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bcachefs: Fix casefold opt via xattr interface</title>
<updated>2025-05-22T00:13:09Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-05-21T00:05:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8d5ac187da10a8a5599b481588951470a2fb792b'/>
<id>urn:sha1:8d5ac187da10a8a5599b481588951470a2fb792b</id>
<content type='text'>
Changing the casefold option requires extra checks/work - factor out a
helper from bch2_fileattr_set() for the xattr code to use.

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: 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: Kill a bit of dead code</title>
<updated>2025-03-15T01:02:16Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2025-03-11T13:31:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a2e9e6874612582367be674e4d961de2ec8a9d05'/>
<id>urn:sha1:a2e9e6874612582367be674e4d961de2ec8a9d05</id>
<content type='text'>
Found with CC=clang W=1

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Initialize from_inode members for bch_io_opts</title>
<updated>2025-03-11T15:19:33Z</updated>
<author>
<name>Roxana Nicolescu</name>
</author>
<published>2025-03-11T15:06:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=58517f4df8424ec28dfe7290ccc61908eda57aae'/>
<id>urn:sha1:58517f4df8424ec28dfe7290ccc61908eda57aae</id>
<content type='text'>
When there is no inode source, all "from_inode" members in the structure
bhc_io_opts should be set false.

Fixes: 7a7c43a0c1ecf ("bcachefs: Add bch_io_opts fields for indicating whether the opts came from the inode")
Reported-by: syzbot+c17ad4b4367b72a853cb@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=c17ad4b4367b72a853cb
Signed-off-by: Roxana Nicolescu &lt;nicolescu.roxana@protonmail.com&gt;
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: bcachefs_metadata_version_persistent_inode_cursors</title>
<updated>2025-01-10T04:38:41Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2024-12-02T02:44:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=df448ca355ce84d62993166294f75517e4128598'/>
<id>urn:sha1:df448ca355ce84d62993166294f75517e4128598</id>
<content type='text'>
Persistent cursors for inode allocation.

A free inodes btree would add substantial overhead to inode allocation
and freeing - a "next num to allocate" cursor is always going to be
faster.

We just need it to be persistent, to avoid scanning the inodes btree
from the start on startup.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Use proper errcodes for inode unpack errors</title>
<updated>2024-12-21T06:36:23Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2024-12-09T02:42:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7b11260456ed49ac14be623400b5ebbb847b71de'/>
<id>urn:sha1:7b11260456ed49ac14be623400b5ebbb847b71de</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
</feed>
