<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/btrfs/backref.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-07-06T09:04:10Z</updated>
<entry>
<title>btrfs: use unsigned types for constants defined as bit shifts</title>
<updated>2025-07-06T09:04:10Z</updated>
<author>
<name>David Sterba</name>
</author>
<published>2025-04-22T15:55:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ce656e5ac66417aad38a033d6ff8ec5f3e4b113f'/>
<id>urn:sha1:ce656e5ac66417aad38a033d6ff8ec5f3e4b113f</id>
<content type='text'>
[ Upstream commit 05a6ec865d091fe8244657df8063f74e704d1711 ]

The unsigned type is a recommended practice (CWE-190, CWE-194) for bit
shifts to avoid problems with potential unwanted sign extensions.
Although there are no such cases in btrfs codebase, follow the
recommendation.

Reviewed-by: Boris Burkov &lt;boris@bur.io&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
Stable-dep-of: 1f2889f5594a ("btrfs: fix qgroup reservation leak on failure to allocate ordered extent")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>btrfs: remove detached list from struct btrfs_backref_cache</title>
<updated>2025-01-13T13:53:15Z</updated>
<author>
<name>Josef Bacik</name>
</author>
<published>2024-10-03T15:43:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f974bc3c9ac0025b89195d605ed8543763232eeb'/>
<id>urn:sha1:f974bc3c9ac0025b89195d605ed8543763232eeb</id>
<content type='text'>
We don't ever look at this list, remove it.

Reviewed-by: Boris Burkov &lt;boris@bur.io&gt;
Signed-off-by: Josef Bacik &lt;josef@toxicpanda.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: remove the -&gt;lowest and -&gt;leaves members from struct btrfs_backref_node</title>
<updated>2025-01-13T13:53:15Z</updated>
<author>
<name>Josef Bacik</name>
</author>
<published>2024-10-03T15:43:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b61e0eb0374299ab5fdd5a767f2759907dc41e1e'/>
<id>urn:sha1:b61e0eb0374299ab5fdd5a767f2759907dc41e1e</id>
<content type='text'>
Before we were keeping all of our nodes on various lists in order to
make sure everything got cleaned up correctly.  We used node-&gt;lowest to
indicate that node-&gt;lower was linked into the cache-&gt;leaves list.  Now
that we do cleanup based on the rb-tree both the list and the flag are
useless, so delete them both.

Reviewed-by: Boris Burkov &lt;boris@bur.io&gt;
Signed-off-by: Josef Bacik &lt;josef@toxicpanda.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: do not handle non-shareable roots in backref cache</title>
<updated>2025-01-13T13:53:15Z</updated>
<author>
<name>Josef Bacik</name>
</author>
<published>2024-10-03T15:43:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4eb8064dc9230a2f58c9df13d59e53265b0cc8e6'/>
<id>urn:sha1:4eb8064dc9230a2f58c9df13d59e53265b0cc8e6</id>
<content type='text'>
Now that we handle relocation for non-shareable roots without using the
backref cache, remove the -&gt;cowonly field from the backref nodes and
update the handling to throw an error.

Reviewed-by: Boris Burkov &lt;boris@bur.io&gt;
Signed-off-by: Josef Bacik &lt;josef@toxicpanda.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: add a comment for new_bytenr in backref_cache_node</title>
<updated>2025-01-13T13:53:15Z</updated>
<author>
<name>Josef Bacik</name>
</author>
<published>2024-10-03T15:43:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb7de8ee9c50d86c7ea0f48c6bf50bab84613f22'/>
<id>urn:sha1:cb7de8ee9c50d86c7ea0f48c6bf50bab84613f22</id>
<content type='text'>
Add a comment for this field so we know what it is used for.  Previously
we used it to update the backref cache, so people may mistakenly think
it is useless, but in fact exists to make sure the backref cache makes
sense.

Reviewed-by: Boris Burkov &lt;boris@bur.io&gt;
Signed-off-by: Josef Bacik &lt;josef@toxicpanda.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: remove the changed list for backref cache</title>
<updated>2025-01-13T13:53:14Z</updated>
<author>
<name>Josef Bacik</name>
</author>
<published>2024-10-03T15:43:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b1d4d5d1d8cf42a97e2e2bb7e7c2a965cef78dc4'/>
<id>urn:sha1:b1d4d5d1d8cf42a97e2e2bb7e7c2a965cef78dc4</id>
<content type='text'>
Now that we're not updating the backref cache when we switch transids we
can remove the changed list.

We're going to keep the new_bytenr field because it serves as a good
sanity check for the backref cache and relocation, and can prevent us
from making extent tree corruption worse.

Reviewed-by: Boris Burkov &lt;boris@bur.io&gt;
Signed-off-by: Josef Bacik &lt;josef@toxicpanda.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: uninline some static inline helpers from backref.h</title>
<updated>2024-03-04T15:24:53Z</updated>
<author>
<name>David Sterba</name>
</author>
<published>2024-02-16T12:36:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2aa756ec49e7dc75909de4672c8976902be0f5d3'/>
<id>urn:sha1:2aa756ec49e7dc75909de4672c8976902be0f5d3</id>
<content type='text'>
There are many helpers doing simple things but not simple enough to
justify the static inline. None of them seems to be on a hot path so
move them to .c.

Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: open code btrfs_backref_get_eb()</title>
<updated>2024-03-04T15:24:52Z</updated>
<author>
<name>David Sterba</name>
</author>
<published>2024-02-16T14:53:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ef923440e252531c1a468626b3ad4aa7d13f9f83'/>
<id>urn:sha1:ef923440e252531c1a468626b3ad4aa7d13f9f83</id>
<content type='text'>
The helper is trivial, we can inline it. It's safe to remove the 'if' as
the iterator is always valid when used, the potential NULL was never
checked anyway.

Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: open code btrfs_backref_iter_free()</title>
<updated>2024-03-04T15:24:52Z</updated>
<author>
<name>David Sterba</name>
</author>
<published>2024-02-16T14:49:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=56430c14a627a70319b670aea53b117fd33e989f'/>
<id>urn:sha1:56430c14a627a70319b670aea53b117fd33e989f</id>
<content type='text'>
The helper is trivial and used only once, open code it. It's safe to
remove the 'if', the pointer is validated in build_backref_tree().

Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
<entry>
<title>btrfs: add forward declarations and headers, part 3</title>
<updated>2024-03-04T15:24:49Z</updated>
<author>
<name>David Sterba</name>
</author>
<published>2024-01-27T03:31:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5693a1286aa697fadf8fc8c7abef122ec90ee10c'/>
<id>urn:sha1:5693a1286aa697fadf8fc8c7abef122ec90ee10c</id>
<content type='text'>
Do a cleanup in the rest of the headers:

- add forward declarations for types referenced by pointers
- add includes when types need them

This fixes potential compilation problems if the headers are reordered
or the missing includes are not provided indirectly.

Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
</entry>
</feed>
