summaryrefslogtreecommitdiff
path: root/libbcachefs/journal_reclaim.h
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/journal_reclaim.h')
-rw-r--r--libbcachefs/journal_reclaim.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/libbcachefs/journal_reclaim.h b/libbcachefs/journal_reclaim.h
index 883a0a56..272ba8a3 100644
--- a/libbcachefs/journal_reclaim.h
+++ b/libbcachefs/journal_reclaim.h
@@ -38,7 +38,7 @@ static inline void bch2_journal_pin_add(struct journal *j, u64 seq,
struct journal_entry_pin *pin,
journal_pin_flush_fn flush_fn)
{
- if (unlikely(!journal_pin_active(pin)))
+ if (unlikely(!journal_pin_active(pin) || pin->seq > seq))
__bch2_journal_pin_add(j, seq, pin, flush_fn);
}
@@ -53,11 +53,11 @@ void bch2_journal_do_discards(struct journal *);
void bch2_journal_reclaim(struct journal *);
void bch2_journal_reclaim_work(struct work_struct *);
-void bch2_journal_flush_pins(struct journal *, u64);
+bool bch2_journal_flush_pins(struct journal *, u64);
-static inline void bch2_journal_flush_all_pins(struct journal *j)
+static inline bool bch2_journal_flush_all_pins(struct journal *j)
{
- bch2_journal_flush_pins(j, U64_MAX);
+ return bch2_journal_flush_pins(j, U64_MAX);
}
int bch2_journal_flush_device_pins(struct journal *, int);