linux/fs/bcachefs
Kent Overstreet 7a51608d01 bcachefs: Rework btree node pinning
In backpointers fsck, we do a seqential scan of one btree, and check
references to another: extents <-> backpointers

Checking references generates random lookups, so we want to pin that
btree in memory (or only a range, if it doesn't fit in ram).

Previously, this was done with a simple check in the shrinker - "if
btree node is in range being pinned, don't free it" - but this generated
OOMs, as our shrinker wasn't well behaved if there was less memory
available than expected.

Instead, we now have two different shrinkers and lru lists; the second
shrinker being for pinned nodes, with seeks set much higher than normal
- so they can still be freed if necessary, but we'll prefer not to.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-09-21 11:39:48 -04:00
..
2024-08-08 15:14:02 -04:00
2024-03-13 21:22:26 -04:00
2024-09-09 09:41:49 -04:00
2024-07-14 19:00:15 -04:00
2024-09-21 11:39:48 -04:00
2024-03-13 18:39:12 -04:00
2024-01-21 13:27:10 -05:00
2024-01-21 13:27:11 -05:00
2024-01-21 13:27:11 -05:00
2024-09-21 11:39:48 -04:00
2024-03-13 18:39:12 -04:00
2024-07-14 19:00:12 -04:00
2024-09-21 11:39:48 -04:00
2024-01-21 13:27:10 -05:00
2024-09-09 09:41:48 -04:00
2024-07-14 19:00:16 -04:00
2024-09-09 09:41:47 -04:00
2024-09-21 11:39:48 -04:00
2024-09-21 11:39:48 -04:00
2024-01-21 13:27:10 -05:00
2024-01-21 13:27:11 -05:00
2024-05-08 17:29:19 -04:00
2024-09-21 11:39:48 -04:00
2024-06-23 00:57:21 -04:00
2024-01-01 11:47:40 -05:00
2024-01-21 13:27:10 -05:00
2024-05-08 17:29:19 -04:00
2024-09-09 09:41:49 -04:00
2024-09-21 11:39:48 -04:00
2024-09-09 09:41:49 -04:00
2024-09-09 09:41:49 -04:00
2024-09-09 09:41:48 -04:00