linux/drivers/md/dm-ps-queue-length.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2004-2005 IBM Corp.  All Rights Reserved.
 * Copyright (C) 2006-2009 NEC Corporation.
 *
 * dm-queue-length.c
 *
 * Module Author: Stefan Bader, IBM
 * Modified by: Kiyoshi Ueda, NEC
 *
 * This file is released under the GPL.
 *
 * queue-length path selector - choose a path with the least number of
 * in-flight I/Os.
 */

#include "dm.h"
#include "dm-path-selector.h"

#include <linux/slab.h>
#include <linux/ctype.h>
#include <linux/errno.h>
#include <linux/module.h>
#include <linux/atomic.h>

#define DM_MSG_PREFIX
#define QL_MIN_IO
#define QL_VERSION

struct selector {};

struct path_info {};

static struct selector *alloc_selector(void)
{}

static int ql_create(struct path_selector *ps, unsigned int argc, char **argv)
{}

static void ql_free_paths(struct list_head *paths)
{}

static void ql_destroy(struct path_selector *ps)
{}

static int ql_status(struct path_selector *ps, struct dm_path *path,
		     status_type_t type, char *result, unsigned int maxlen)
{}

static int ql_add_path(struct path_selector *ps, struct dm_path *path,
		       int argc, char **argv, char **error)
{}

static void ql_fail_path(struct path_selector *ps, struct dm_path *path)
{}

static int ql_reinstate_path(struct path_selector *ps, struct dm_path *path)
{}

/*
 * Select a path having the minimum number of in-flight I/Os
 */
static struct dm_path *ql_select_path(struct path_selector *ps, size_t nr_bytes)
{}

static int ql_start_io(struct path_selector *ps, struct dm_path *path,
		       size_t nr_bytes)
{}

static int ql_end_io(struct path_selector *ps, struct dm_path *path,
		     size_t nr_bytes, u64 start_time)
{}

static struct path_selector_type ql_ps =;

static int __init dm_ql_init(void)
{}

static void __exit dm_ql_exit(void)
{}

module_init();
module_exit(dm_ql_exit);

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();