Kent Overstreet
|
05b3d5ac1f
|
bcachefs: simplify gc locking a bit
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:19 -04:00 |
|
Kent Overstreet
|
f13f5a8c83
|
bcachefs: move some checks to expensive_debug_checks
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:19 -04:00 |
|
Kent Overstreet
|
76a0537bf1
|
bcachefs: Sort updates in bch2_trans_update()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:19 -04:00 |
|
Kent Overstreet
|
4afe700060
|
bcachefs: Unlink not-touched iters on successful transaction commit
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:19 -04:00 |
|
Kent Overstreet
|
bf7b87a4a9
|
bcachefs: traverse all iterators on transaction restart
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:19 -04:00 |
|
Kent Overstreet
|
e1120a4c8d
|
bcachefs: Add iter->idx
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:19 -04:00 |
|
Kent Overstreet
|
ecc892e40b
|
bcachefs: Kill btree_iter->next
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:19 -04:00 |
|
Kent Overstreet
|
e542029eeb
|
bcachefs: Change btree_iter_traverse_error() to not use iter->next
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:19 -04:00 |
|
Kent Overstreet
|
0f23836771
|
bcachefs: trans_for_each_iter()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
7c26ecae32
|
bcachefs: Better bch2_trans_copy_iter()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
9e5e5b9e71
|
bcachefs: Btree iterators now always have a btree_trans
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
424eb88130
|
bcachefs: Only get btree iters from btree transactions
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
5df4be3f62
|
bcachefs: Btree iter improvements
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
03e183cb5d
|
bcachefs: Verify fs hasn't been modified before going rw
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
134915f3d3
|
bcachefs: Go rw lazily
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
65e7ab8f2a
|
bcachefs: Fix a deadlock
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
11e6f19a30
|
bcachefs: Rework error handling in btree update path
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
8b2b9d11b9
|
bcachefs: Fix error handling in gc
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
6122ab639c
|
bcachefs: More debug params for testing of recovery paths
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
05235e9928
|
bcachefs: Run gc if failed to read alloc btree
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
082f0801e0
|
bcachefs: Fix error handling in bch2_fs_recovery()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
dc3b63dc33
|
bcachefs: Add time stats for btree updates
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
1a470560c9
|
bcachefs: BTREE_INSERT_ATOMIC must be used for extents now
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
49a67206e4
|
bcachefs: Add more time stats for being blocked on allocator
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
7c648fe899
|
bcachefs: Fix a deadlock
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
4d8100daa9
|
bcachefs: Allocate fs_usage in do_btree_insert_at()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
9623ab27ab
|
bcachefs: Btree update path cleanup
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
0dc17247f1
|
bcachefs: kill struct btree_insert
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
0564b16782
|
bcachefs: convert bch2_btree_insert_at() usage to bch2_trans_commit()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:18 -04:00 |
|
Kent Overstreet
|
94d290e40c
|
bcachefs: drop btree_insert->did_work
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
9a12b1b097
|
bcachefs: Refactor extent insert path
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
c93cead058
|
bcachefs: Always use bch2_extent_trim_atomic()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
db8a5f0a6a
|
bcachefs: fix bch2_mark_bkey_replicas() call
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
18c9883e1c
|
bcachefs: fix bch2_invalidate_one_bucket2() during journal replay
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
61f321fc8b
|
bcachefs: Make deferred inode updates a mount option
Journal reclaim may still need performance tuning
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
3aea434272
|
bcachefs: Fix for shutting down before fs started marking it clean
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
844045581e
|
bcachefs: Fix for when compressed extent is split during journal replay
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
a8e00bd48a
|
bcachefs: increase BTREE_ITER_MAX
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
db6447b383
|
bcachefs: fix a faulty assertion
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
812af308de
|
bcachefs: assertion to catch outstanding bug
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
b5d056358d
|
bcachefs: minor journal reclaim fixes
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
59928c1220
|
bcachefs: Don't BUG_ON() on bucket sector count overflow
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
446c562c2c
|
bcachefs: Remove direct use of bch2_btree_iter_link()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
5154704b29
|
bcachefs: Use deferred btree updates for inode updates
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
3e5d6c59be
|
bcachefs: Use journal preres for deferred btree updates
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
68ef94a63c
|
bcachefs: Add a pre-reserve mechanism for the journal
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
9ace606e93
|
bcachefs: Don't block on reclaim_lock from journal_res_get
When we're doing btree updates from journal flush, this becomes a
locking inversion
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
03d5eaed86
|
bcachefs: bch2_journal_space_available improvements
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
2384db8f32
|
bcachefs: Separate discards from rest of journal reclaim
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|
Kent Overstreet
|
0ce2dbbe99
|
bcachefs: ja->discard_idx, ja->dirty_idx
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
2023-10-22 17:08:17 -04:00 |
|