Files
scoutfs/kmod/src
Zach Brown 3740c0a995 More carefully scan for orphan inodes
The current orphan scan uses the forest_next_hint to look for candidate
orphan items to delete.  It doesn't skip deleted items and checks the
forest of log btrees so it'd return hints for every single item that
existed in all the log btrees across the system.  And we call the hint
per-item.

When the system is deleting a lot of files we end up generating a huge
load where all mounts are constantly getting the btree roots from the
server, reading all the newest log btree blocks, finding deleted orphan
items for inodes that have already been deleted, and moving on to the
next deleted orphan item.

The fix is to use a read-only traversal of only one version of the fs
root for all the items in one scan.   This avoids all the deleted orphan
items that exist in the log btrees which will disappear when they're
merged.  It lets the item iteration happen in a single read-only cached
btree instead of constantly reading in the most recently written root
block of every log btree.

The result is an enormous speedup of large deletions.  I don't want to
describe exactly how enormous.

Signed-off-by: Zach Brown <zab@versity.com>
2021-08-25 10:14:38 -07:00
..
2020-08-26 14:39:12 -07:00
2021-07-30 13:22:42 -07:00
2021-06-17 09:36:00 -07:00
2021-06-17 09:36:00 -07:00
2021-08-24 09:12:17 -07:00
2018-04-04 09:15:27 -05:00
2017-12-20 12:21:13 -08:00
2021-08-25 10:14:38 -07:00
2021-07-07 14:13:14 -07:00
2021-07-30 13:22:42 -07:00
2021-07-30 13:22:42 -07:00
2018-01-26 11:59:47 -08:00
2021-08-24 09:11:40 -07:00
2021-08-24 09:11:40 -07:00
2021-07-30 13:22:42 -07:00
2017-08-30 10:38:00 -07:00
2021-08-25 10:14:38 -07:00
2021-07-30 13:22:42 -07:00
2020-10-29 14:15:33 -07:00
2021-08-25 10:14:38 -07:00
2016-02-05 14:12:14 -08:00
2021-06-17 09:36:00 -07:00
2021-06-15 15:24:23 -07:00
2021-05-26 14:18:25 -07:00
2019-08-20 15:52:13 -07:00
2021-08-24 09:12:20 -07:00
2021-07-02 10:52:46 -07:00
2019-05-21 11:33:26 -07:00
2019-05-21 11:33:26 -07:00
2021-08-25 10:14:38 -07:00
2020-10-29 14:15:33 -07:00
2020-10-29 14:15:33 -07:00
2020-11-30 13:35:44 -08:00
2019-04-12 10:54:07 -07:00
2021-08-25 10:14:38 -07:00
2021-05-26 14:18:19 -07:00
2021-05-26 14:18:19 -07:00
2021-08-25 10:14:38 -07:00
2021-07-07 14:13:14 -07:00
2021-03-01 09:50:00 -08:00
2021-03-01 09:50:00 -08:00
2018-07-27 09:50:21 -07:00
2018-07-27 09:50:21 -07:00
2021-01-14 13:42:22 -08:00
2021-07-07 14:13:14 -07:00