mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-31 22:23:05 +00:00
bcachefs: Don't aggressively discard the journal
We frequently use 'bcachefs list_journal -a' for debugging, as it provides a record of all btree transactions, and a history of what happened. But it's not so useful if we immediately discard journal buckets right after they're no longer dirty. This tweaks journal reclaim to only discard when we're low on space, keeping the journal mostly un-discarded. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
da18dabc37
commit
8e4d28036c
@ -266,10 +266,11 @@ void bch2_journal_space_available(struct journal *j)
|
||||
|
||||
static bool should_discard_bucket(struct journal *j, struct journal_device *ja)
|
||||
{
|
||||
bool ret;
|
||||
|
||||
spin_lock(&j->lock);
|
||||
ret = ja->discard_idx != ja->dirty_idx_ondisk;
|
||||
unsigned min_free = max(4, ja->nr / 8);
|
||||
|
||||
bool ret = bch2_journal_dev_buckets_available(j, ja, journal_space_discarded) < min_free &&
|
||||
ja->discard_idx != ja->dirty_idx_ondisk;
|
||||
spin_unlock(&j->lock);
|
||||
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user