<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/fs/bcachefs/move.c, branch v6.12.80</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.12.80</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.12.80'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2024-10-29T10:34:10+00:00</updated>
<entry>
<title>bcachefs: Don't keep tons of cached pointers around</title>
<updated>2024-10-29T10:34:10+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-10-21T00:02:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a34eef6dd179463e70a97bbf8453b7ca21d1e666'/>
<id>urn:sha1:a34eef6dd179463e70a97bbf8453b7ca21d1e666</id>
<content type='text'>
We had a bug report where the data update path was creating an extent
that failed to validate because it had too many pointers; almost all of
them were cached.

To fix this, we have:
- want_cached_ptr(), a new helper that checks if we even want a cached
  pointer (is on appropriate target, device is readable).

- bch2_extent_set_ptr_cached() now only sets a pointer cached if we want
  it.

- bch2_extent_normalize_by_opts() now ensures that we only have a single
  cached pointer that we want.

While working on this, it was noticed that this doesn't work well with
reflinked data and per-file options. Another patch series is coming that
plumbs through additional io path options through bch_extent_rebalance,
with improved option handling.

Reported-by: Reed Riley &lt;reed@riley.engineer&gt;
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Kill alloc_v4.fragmentation_lru</title>
<updated>2024-10-05T00:25:32+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-10-01T23:08:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=260af1562ec14353824da24fe7acc179a902558e'/>
<id>urn:sha1:260af1562ec14353824da24fe7acc179a902558e</id>
<content type='text'>
The fragmentation_lru field hasn't been needed since we reworked the LRU
btrees to use the btree write buffer; previously it was used to resolve
collisions, but the revised LRU btree uses the backpointer (the bucket)
as part of the key.

It should have been deleted at the time of the LRU rework; since it
wasn't, that left places for bugs to hide, in check/repair.

This fixes LRU fsck on a filesystem image helpfully provided by a user
who disappeared before I could get his name for the reported-by.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: btree_ptr_sectors_written() now takes bkey_s_c</title>
<updated>2024-07-14T23:00:12+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-05-24T22:04:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=652bc7fabc28294e6a6798c4d37861db605bda8d'/>
<id>urn:sha1:652bc7fabc28294e6a6798c4d37861db605bda8d</id>
<content type='text'>
this is for the userspace metadata dump tool

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: bch2_data_update_to_text()</title>
<updated>2024-07-10T13:53:39+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-07-03T17:25:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ad8b68cd3941c547cf73154244488ab412076177'/>
<id>urn:sha1:ad8b68cd3941c547cf73154244488ab412076177</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Fix trans-&gt;locked assert</title>
<updated>2024-06-05T14:44:08+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-06-03T22:00:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=319fef29e96524966bb8593117ce0c5867846eea'/>
<id>urn:sha1:319fef29e96524966bb8593117ce0c5867846eea</id>
<content type='text'>
in bch2_move_data_btree, we might start with the trans unlocked from a
previous loop iteration - we need a trans_begin() before iter_init().

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Rereplicate now moves data off of durability=0 devices</title>
<updated>2024-06-05T14:44:08+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-06-03T02:25:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fdccb24352e589bb59c9ba90f23c4e0994b90518'/>
<id>urn:sha1:fdccb24352e589bb59c9ba90f23c4e0994b90518</id>
<content type='text'>
This fixes an issue where setting a device to durability=0 after it's
been used makes it impossible to remove.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: extent_ptr_durability() -&gt; bch2_dev_rcu()</title>
<updated>2024-05-08T21:29:23+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-05-01T00:54:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=302c980a818763d53dfa8fcd8549b04a5c7b8b17'/>
<id>urn:sha1:302c980a818763d53dfa8fcd8549b04a5c7b8b17</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Kill bch2_dev_bkey_exists() in backpointer code</title>
<updated>2024-05-08T21:29:23+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-04-30T20:50:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=633cf069445d95384d88e9ff40f395c001f8b2b7'/>
<id>urn:sha1:633cf069445d95384d88e9ff40f395c001f8b2b7</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: bch2_evacuate_bucket() -&gt; bch2_dev_tryget()</title>
<updated>2024-05-08T21:29:23+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-04-30T19:46:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cb4d340a10295fcea7e4363f1b95c1a8c6c9bed4'/>
<id>urn:sha1:cb4d340a10295fcea7e4363f1b95c1a8c6c9bed4</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: member helper cleanups</title>
<updated>2024-05-08T21:29:19+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-04-12T03:31:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2f724563fcd76166b9922c506078a4afa4e3a90a'/>
<id>urn:sha1:2f724563fcd76166b9922c506078a4afa4e3a90a</id>
<content type='text'>
Some renaming for better consistency

bch2_member_exists	-&gt; bch2_member_alive
bch2_dev_exists		-&gt; bch2_member_exists
bch2_dev_exsits2	-&gt; bch2_dev_exists
bch_dev_locked		-&gt; bch2_dev_locked
bch_dev_bkey_exists	-&gt; bch2_dev_bkey_exists

new helper - bch2_dev_safe

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