Lines Matching refs:seq
90 u64 seq; in journal_dev_space_available() local
105 for (seq = journal_last_unwritten_seq(j); in journal_dev_space_available()
106 seq <= journal_cur_seq(j); in journal_dev_space_available()
107 seq++) { in journal_dev_space_available()
108 unwritten = j->buf[seq & JOURNAL_BUF_MASK].sectors; in journal_dev_space_available()
351 bool __bch2_journal_pin_put(struct journal *j, u64 seq) in __bch2_journal_pin_put() argument
353 struct journal_entry_pin_list *pin_list = journal_seq_pin(j, seq); in __bch2_journal_pin_put()
358 void bch2_journal_pin_put(struct journal *j, u64 seq) in bch2_journal_pin_put() argument
360 if (__bch2_journal_pin_put(j, seq)) { in bch2_journal_pin_put()
378 pin_list = journal_seq_pin(j, pin->seq); in __journal_pin_drop()
379 pin->seq = 0; in __journal_pin_drop()
417 static inline void bch2_journal_pin_set_locked(struct journal *j, u64 seq, in bch2_journal_pin_set_locked() argument
422 struct journal_entry_pin_list *pin_list = journal_seq_pin(j, seq); in bch2_journal_pin_set_locked()
431 pin->seq = seq; in bch2_journal_pin_set_locked()
448 u64 seq = READ_ONCE(src->seq); in bch2_journal_pin_copy() local
450 if (seq < journal_last_seq(j)) { in bch2_journal_pin_copy()
463 bch2_journal_pin_set_locked(j, seq, dst, flush_fn, journal_pin_type(dst, flush_fn)); in bch2_journal_pin_copy()
472 if (seq == journal_last_seq(j)) in bch2_journal_pin_copy()
477 void bch2_journal_pin_set(struct journal *j, u64 seq, in bch2_journal_pin_set() argument
483 BUG_ON(seq < journal_last_seq(j)); in bch2_journal_pin_set()
487 bch2_journal_pin_set_locked(j, seq, pin, flush_fn, journal_pin_type(pin, flush_fn)); in bch2_journal_pin_set()
495 if (seq == journal_last_seq(j)) in bch2_journal_pin_set()
527 u64 *seq) in journal_get_next_pin() argument
532 fifo_for_each_entry_ptr(pin_list, &j->pin, *seq) { in journal_get_next_pin()
533 if (*seq > seq_to_flush && !allowed_above_seq) in journal_get_next_pin()
537 if (((BIT(i) & allowed_below_seq) && *seq <= seq_to_flush) || in journal_get_next_pin()
560 u64 seq; in journal_flush_pins() local
586 allowed_above, &seq); in journal_flush_pins()
604 err = flush_fn(j, pin, seq); in journal_flush_pins()
609 list_move(&pin->list, &journal_seq_pin(j, seq)->flushed[journal_pin_type(pin, flush_fn)]); in journal_flush_pins()
848 u64 seq; in journal_pins_still_flushing() local
851 fifo_for_each_entry_ptr(pin_list, &j->pin, seq) { in journal_pins_still_flushing()
852 if (seq > seq_to_flush) in journal_pins_still_flushing()
931 u64 iter, seq = 0; in bch2_journal_flush_device_pins() local
939 seq = iter; in bch2_journal_flush_device_pins()
942 bch2_journal_flush_pins(j, seq); in bch2_journal_flush_device_pins()
962 seq = 0; in bch2_journal_flush_device_pins()
967 seq = max(seq, journal_last_seq(j)); in bch2_journal_flush_device_pins()
968 if (seq >= j->pin.back) in bch2_journal_flush_device_pins()
971 journal_seq_pin(j, seq)->devs); in bch2_journal_flush_device_pins()
972 seq++; in bch2_journal_flush_device_pins()
988 bool bch2_journal_seq_pins_to_text(struct printbuf *out, struct journal *j, u64 *seq) in bch2_journal_seq_pins_to_text() argument
999 *seq = max(*seq, j->pin.front); in bch2_journal_seq_pins_to_text()
1001 if (*seq >= j->pin.back) { in bch2_journal_seq_pins_to_text()
1008 pin_list = journal_seq_pin(j, *seq); in bch2_journal_seq_pins_to_text()
1010 prt_printf(out, "%llu: count %u\n", *seq, atomic_read(&pin_list->count)); in bch2_journal_seq_pins_to_text()
1033 u64 seq = 0; in bch2_journal_pins_to_text() local
1035 while (!bch2_journal_seq_pins_to_text(out, j, &seq)) in bch2_journal_pins_to_text()
1036 seq++; in bch2_journal_pins_to_text()