linux/drivers/md/dm-cache-background-tracker.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2017 Red Hat. All rights reserved.
 *
 * This file is released under the GPL.
 */

#include "dm-cache-background-tracker.h"

/*----------------------------------------------------------------*/

#define DM_MSG_PREFIX

struct bt_work {};

struct background_tracker {};

struct background_tracker *btracker_create(unsigned int max_work)
{}
EXPORT_SYMBOL_GPL();

void btracker_destroy(struct background_tracker *b)
{}
EXPORT_SYMBOL_GPL();

static int cmp_oblock(dm_oblock_t lhs, dm_oblock_t rhs)
{}

static bool __insert_pending(struct background_tracker *b,
			     struct bt_work *nw)
{}

static struct bt_work *__find_pending(struct background_tracker *b,
				      dm_oblock_t oblock)
{}


static void update_stats(struct background_tracker *b, struct policy_work *w, int delta)
{}

unsigned int btracker_nr_writebacks_queued(struct background_tracker *b)
{}
EXPORT_SYMBOL_GPL();

unsigned int btracker_nr_demotions_queued(struct background_tracker *b)
{}
EXPORT_SYMBOL_GPL();

static bool max_work_reached(struct background_tracker *b)
{}

static struct bt_work *alloc_work(struct background_tracker *b)
{}

int btracker_queue(struct background_tracker *b,
		   struct policy_work *work,
		   struct policy_work **pwork)
{}
EXPORT_SYMBOL_GPL();

/*
 * Returns -ENODATA if there's no work.
 */
int btracker_issue(struct background_tracker *b, struct policy_work **work)
{}
EXPORT_SYMBOL_GPL();

void btracker_complete(struct background_tracker *b,
		       struct policy_work *op)
{}
EXPORT_SYMBOL_GPL();

bool btracker_promotion_already_present(struct background_tracker *b,
					dm_oblock_t oblock)
{}
EXPORT_SYMBOL_GPL();

/*----------------------------------------------------------------*/