⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dm-path-selector.h

📁 linux 内核源代码
💻 H
字号:
/* * Copyright (C) 2003 Sistina Software. * Copyright (C) 2004 Red Hat, Inc. All rights reserved. * * Module Author: Heinz Mauelshagen * * This file is released under the GPL. * * Path-Selector registration. */#ifndef	DM_PATH_SELECTOR_H#define	DM_PATH_SELECTOR_H#include <linux/device-mapper.h>#include "dm-mpath.h"/* * We provide an abstraction for the code that chooses which path * to send some io down. */struct path_selector_type;struct path_selector {	struct path_selector_type *type;	void *context;};/* Information about a path selector type */struct path_selector_type {	char *name;	struct module *module;	unsigned int table_args;	unsigned int info_args;	/*	 * Constructs a path selector object, takes custom arguments	 */	int (*create) (struct path_selector *ps, unsigned argc, char **argv);	void (*destroy) (struct path_selector *ps);	/*	 * Add an opaque path object, along with some selector specific	 * path args (eg, path priority).	 */	int (*add_path) (struct path_selector *ps, struct dm_path *path,			 int argc, char **argv, char **error);	/*	 * Chooses a path for this io, if no paths are available then	 * NULL will be returned.	 *	 * repeat_count is the number of times to use the path before	 * calling the function again.  0 means don't call it again unless	 * the path fails.	 */	struct dm_path *(*select_path) (struct path_selector *ps,				     unsigned *repeat_count);	/*	 * Notify the selector that a path has failed.	 */	void (*fail_path) (struct path_selector *ps, struct dm_path *p);	/*	 * Ask selector to reinstate a path.	 */	int (*reinstate_path) (struct path_selector *ps, struct dm_path *p);	/*	 * Table content based on parameters added in ps_add_path_fn	 * or path selector status	 */	int (*status) (struct path_selector *ps, struct dm_path *path,		       status_type_t type, char *result, unsigned int maxlen);	int (*end_io) (struct path_selector *ps, struct dm_path *path);};/* Register a path selector */int dm_register_path_selector(struct path_selector_type *type);/* Unregister a path selector */int dm_unregister_path_selector(struct path_selector_type *type);/* Returns a registered path selector type */struct path_selector_type *dm_get_path_selector(const char *name);/* Releases a path selector  */void dm_put_path_selector(struct path_selector_type *pst);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -