aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-10-22bcachefs: Btree iter improvementsKent Overstreet4-31/+76
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Verify fs hasn't been modified before going rwKent Overstreet8-24/+78
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Go rw lazilyKent Overstreet14-115/+153
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Fix a deadlockKent Overstreet1-7/+7
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Rework error handling in btree update pathKent Overstreet1-89/+98
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Fix error handling in gcKent Overstreet1-5/+4
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: More debug params for testing of recovery pathsKent Overstreet3-2/+12
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Run gc if failed to read alloc btreeKent Overstreet1-2/+4
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Fix error handling in bch2_fs_recovery()Kent Overstreet1-1/+3
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Add time stats for btree updatesKent Overstreet5-9/+23
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: BTREE_INSERT_ATOMIC must be used for extents nowKent Overstreet1-2/+9
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Add more time stats for being blocked on allocatorKent Overstreet3-3/+28
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Fix a deadlockKent Overstreet1-2/+2
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Allocate fs_usage in do_btree_insert_at()Kent Overstreet9-71/+166
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Btree update path cleanupKent Overstreet3-216/+246
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: kill struct btree_insertKent Overstreet7-54/+47
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: convert bch2_btree_insert_at() usage to bch2_trans_commit()Kent Overstreet16-376/+424
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: drop btree_insert->did_workKent Overstreet2-5/+6
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Refactor extent insert pathKent Overstreet1-98/+54
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Always use bch2_extent_trim_atomic()Kent Overstreet6-98/+63
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: fix bch2_mark_bkey_replicas() callKent Overstreet1-2/+7
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: fix bch2_invalidate_one_bucket2() during journal replayKent Overstreet1-2/+13
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Make deferred inode updates a mount optionKent Overstreet4-38/+82
Journal reclaim may still need performance tuning Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Fix for shutting down before fs started marking it cleanKent Overstreet1-1/+2
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Fix for when compressed extent is split during journal replayKent Overstreet1-16/+66
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: increase BTREE_ITER_MAXKent Overstreet4-41/+77
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: fix a faulty assertionKent Overstreet1-2/+2
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: assertion to catch outstanding bugKent Overstreet1-1/+4
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: minor journal reclaim fixesKent Overstreet1-4/+6
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Don't BUG_ON() on bucket sector count overflowKent Overstreet1-22/+28
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Remove direct use of bch2_btree_iter_link()Kent Overstreet3-19/+22
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Use deferred btree updates for inode updatesKent Overstreet5-18/+44
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Use journal preres for deferred btree updatesKent Overstreet4-15/+77
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Add a pre-reserve mechanism for the journalKent Overstreet5-9/+208
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Don't block on reclaim_lock from journal_res_getKent Overstreet3-9/+20
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-22bcachefs: bch2_journal_space_available improvementsKent Overstreet4-56/+103
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Separate discards from rest of journal reclaimKent Overstreet4-2/+22
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: ja->discard_idx, ja->dirty_idxKent Overstreet4-58/+83
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Allocator startup fixes/refactoringKent Overstreet1-43/+48
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Drop a faulty assertionKent Overstreet1-2/+0
the assertion was meant to check that bch2_journal_reclaim_fast() was always being called, but since the atomic dec can happen outside of j->lock the assertion itself can race Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: improved flush_held_btree_writes()Kent Overstreet2-22/+17
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: use correct wq for journal reclaimKent Overstreet2-2/+2
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Journal reclaim refactoringKent Overstreet6-278/+290
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Better journal debugKent Overstreet1-14/+33
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Don't get journal reservation until after we know insert will succeedKent Overstreet2-39/+52
Checking if we can do the insert after getting the journal reservation means potentially wasting space in the journal, which will break the new pre reservation mechanism Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: fix integer underflow in journal codeKent Overstreet2-1/+5
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Fix gc handling of bucket gensKent Overstreet2-8/+13
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: fix a deadlock on startupKent Overstreet2-3/+10
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: force str_hash code to be inlinedKent Overstreet1-18/+22
the btree trans iterator stuff relies on a dirty horrible hack that uses a short backtrace to generate tokens, and gcc uninlining these functions breaks that hack. ugh. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22bcachefs: Assorted journal refactoringKent Overstreet5-254/+231
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>