vdo_slab
struct vdo_slab *slab = vdo_get_slab(depot, agent->duplicate.pbn);
struct vdo_slab *slab;
struct vdo_slab *slab = container_of(waiter, struct vdo_slab, summary_waiter);
struct vdo_slab *slab = context;
static void save_dirty_reference_blocks(struct vdo_slab *slab)
struct vdo_slab *slab = block->slab;
struct vdo_slab *slab = ((struct reference_block *) completion->parent)->slab;
struct vdo_slab *slab = journal->slab;
static struct reference_block * __must_check get_reference_block(struct vdo_slab *slab,
static int __must_check slab_block_number_from_pbn(struct vdo_slab *slab,
static int __must_check get_reference_counter(struct vdo_slab *slab,
static unsigned int calculate_slab_priority(struct vdo_slab *slab)
static bool is_slab_journal_blank(const struct vdo_slab *slab)
static void prioritize_slab(struct vdo_slab *slab)
static void adjust_free_block_count(struct vdo_slab *slab, bool incremented)
static int increment_for_data(struct vdo_slab *slab, struct reference_block *block,
static int decrement_for_data(struct vdo_slab *slab, struct reference_block *block,
static int increment_for_block_map(struct vdo_slab *slab, struct reference_block *block,
static int update_reference_count(struct vdo_slab *slab, struct reference_block *block,
static int __must_check adjust_reference_count(struct vdo_slab *slab,
static void check_if_slab_drained(struct vdo_slab *slab)
struct vdo_slab *slab = journal->slab;
static void reset_search_cursor(struct vdo_slab *slab)
static bool advance_search_cursor(struct vdo_slab *slab)
struct vdo_slab *slab = vdo_get_slab(depot, pbn);
static int replay_reference_count_change(struct vdo_slab *slab,
static bool find_free_block(const struct vdo_slab *slab, slab_block_number *index_ptr)
static bool search_current_reference_block(const struct vdo_slab *slab,
static bool search_reference_blocks(struct vdo_slab *slab,
static void make_provisional_reference(struct vdo_slab *slab,
static void dirty_all_reference_blocks(struct vdo_slab *slab)
struct vdo_slab *slab = block->slab;
struct vdo_slab *slab = block->slab;
static void load_reference_blocks(struct vdo_slab *slab)
static void drain_slab(struct vdo_slab *slab)
static int allocate_slab_counters(struct vdo_slab *slab)
static int allocate_counters_if_clean(struct vdo_slab *slab)
struct vdo_slab *slab = journal->slab;
struct vdo_slab *slab = journal->slab;
static void load_slab_journal(struct vdo_slab *slab)
static void register_slab_for_scrubbing(struct vdo_slab *slab, bool high_priority)
static void queue_slab(struct vdo_slab *slab)
struct vdo_slab *slab = container_of(state, struct vdo_slab, state);
static struct vdo_slab *get_next_slab(struct slab_scrubber *scrubber)
struct vdo_slab *slab;
struct vdo_slab, allocq_entry);
return list_first_entry_or_null(&scrubber->slabs, struct vdo_slab,
struct vdo_slab *slab = scrubber->slab;
sequence_number_t block_number, struct vdo_slab *slab)
struct vdo_slab *slab = scrubber->slab;
struct vdo_slab *slab = scrubber->slab;
struct vdo_slab *slab;
struct vdo_slab *slab)
struct vdo_slab **slabs = depot->slabs;
static struct vdo_slab *next_slab(struct slab_iterator *iterator)
struct vdo_slab *slab = iterator->next;
struct vdo_slab *slab = next_slab(&iterator);
int vdo_acquire_provisional_reference(struct vdo_slab *slab, physical_block_number_t pbn,
static int __must_check allocate_slab_block(struct vdo_slab *slab,
static void open_slab(struct vdo_slab *slab)
struct vdo_slab, allocq_entry));
struct vdo_slab *slab = vdo_get_slab(completion->vdo->depot, updater->zpbn.pbn);
struct vdo_slab *slab = next_slab(&iterator);
struct vdo_slab *slab;
struct vdo_slab *slab;
static void update_slab_summary_entry(struct vdo_slab *slab, struct vdo_waiter *waiter,
struct vdo_slab *slab = next_slab(&iterator);
static void free_slab(struct vdo_slab *slab)
static int initialize_slab_journal(struct vdo_slab *slab)
struct vdo_slab **slab_ptr)
struct vdo_slab *slab;
*slab = (struct vdo_slab) {
depot->slab_count * sizeof(struct vdo_slab *));
struct vdo_slab **slab_ptr = &depot->new_slabs[depot->new_slab_count];
struct vdo_slab *slab = depot->new_slabs[i];
struct vdo_slab *vdo_get_slab(const struct slab_depot *depot,
struct vdo_slab *slab = vdo_get_slab(depot, pbn);
struct vdo_slab *slab = depot->new_slabs[i];
static bool is_slab_open(struct vdo_slab *slab)
struct vdo_slab *slab = journal->slab;
static void reopen_slab_journal(struct vdo_slab *slab)
bool vdo_attempt_replay_into_slab(struct vdo_slab *slab, physical_block_number_t pbn,
struct vdo_slab *slab;
struct vdo_slab *slab;
struct vdo_slab **slabs;
struct vdo_slab *next;
struct vdo_slab *open_slab;
struct vdo_slab **slabs;
struct vdo_slab **new_slabs;
bool __must_check vdo_attempt_replay_into_slab(struct vdo_slab *slab,
int __must_check vdo_acquire_provisional_reference(struct vdo_slab *slab,
struct vdo_slab * __must_check vdo_get_slab(const struct slab_depot *depot,
struct vdo_slab;
struct vdo_slab *slab;
struct vdo_slab *slab;