Lines Matching +full:work +full:- +full:around
1 /* SPDX-License-Identifier: GPL-2.0 */
8 * The journal is treated as a circular buffer of buckets - a journal entry
16 * superblock - all the things that are frequently updated. This is for future
22 * Currently, we don't journal BTREE_REPLACE operations - this will hopefully be
23 * fixed eventually. This isn't a bug - BTREE_REPLACE is used for insertions
25 * moving gc we work around it by flushing the btree to disk before updating the
32 * journal entry still open - i.e. that has keys that haven't been flushed to
38 * zero, we pop it off - thus, the size of the fifo tells us the number of open
48 * might contain keys for many journal entries - we handle this by making sure
56 * last_seq - the oldest journal entry we still need. We write last_seq in each
58 * we don't overwrite it when we loop around the journal.
61 * newest journal entry it contains - if we don't need that journal entry we
75 * allocate space for a journal write again - preferentially flushing btree
113 struct delayed_work work; member
132 * journal writes it contains - so we know when a bucket can be reused.
148 /* 1 - discard in flight, -1 - discard completed */
163 (fifo_idx(&(c)->journal.pin, (l)) > fifo_idx(&(c)->journal.pin, (r)))
168 (!(j)->blocks_free || fifo_free(&(j)->pin) <= 1)