diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2018-12-12 06:21:55 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2018-12-12 06:25:37 -0500 |
commit | a10a41fa2b1a917b0f3b34d20175867f968b2d12 (patch) | |
tree | b61aa3e0912c2a6928356aeb5273fb528b4f21ba /libbcachefs/journal_reclaim.c | |
parent | 0c7db4eca3e6519043c10288cb41f8a0ee634a0b (diff) |
Update bcachefs sources to f7670cba39 bcachefs: Fix for building in userspace
Diffstat (limited to 'libbcachefs/journal_reclaim.c')
-rw-r--r-- | libbcachefs/journal_reclaim.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/libbcachefs/journal_reclaim.c b/libbcachefs/journal_reclaim.c index 9ac65d03..d8d1b6b0 100644 --- a/libbcachefs/journal_reclaim.c +++ b/libbcachefs/journal_reclaim.c @@ -74,6 +74,25 @@ void bch2_journal_pin_drop(struct journal *j, spin_unlock(&j->lock); } +void bch2_journal_pin_update(struct journal *j, u64 seq, + struct journal_entry_pin *pin, + journal_pin_flush_fn flush_fn) +{ + spin_lock(&j->lock); + + if (pin->seq != seq) { + __journal_pin_drop(j, pin); + __journal_pin_add(j, seq, pin, flush_fn); + } else { + struct journal_entry_pin_list *pin_list = + journal_seq_pin(j, seq); + + list_move(&pin->list, &pin_list->list); + } + + spin_unlock(&j->lock); +} + void bch2_journal_pin_add_if_older(struct journal *j, struct journal_entry_pin *src_pin, struct journal_entry_pin *pin, |