multipath
static int parse_hw_handler(struct dm_arg_set *as, struct multipath *m)
static int parse_features(struct dm_arg_set *as, struct multipath *m)
struct multipath *m;
static void multipath_wait_for_pg_init_completion(struct multipath *m)
static void flush_multipath_work(struct multipath *m)
struct multipath *m = ti->private;
struct multipath *m = pgpath->pg->m;
struct multipath *m = pgpath->pg->m;
static bool mpath_double_check_test_bit(int MPATHF_bit, struct multipath *m)
static int action_dev(struct multipath *m, dev_t dev, action_fn action)
static void bypass_pg(struct multipath *m, struct priority_group *pg,
static int switch_pg_num(struct multipath *m, const char *pgstr)
static int bypass_pg_num(struct multipath *m, const char *pgstr, bool bypassed)
static bool pg_init_limit_reached(struct multipath *m, struct pgpath *pgpath)
struct multipath *m = pg->m;
struct multipath *m = ti->private;
struct multipath *m = ti->private;
struct multipath *m = ti->private;
struct multipath *m = ti->private;
struct multipath *m = ti->private;
struct multipath *m = ti->private;
struct multipath *m = ti->private;
static int probe_active_paths(struct multipath *m)
struct multipath *m = ti->private;
static struct multipath *alloc_multipath(struct dm_target *ti)
struct multipath *m;
struct multipath *m = ti->private;
struct multipath *m = ti->private;
static int alloc_multipath_stage2(struct dm_target *ti, struct multipath *m)
static void free_multipath(struct multipath *m)
static int __pg_init_all_paths(struct multipath *m)
static int pg_init_all_paths(struct multipath *m)
static void __switch_pg(struct multipath *m, struct priority_group *pg)
static struct pgpath *choose_path_in_pg(struct multipath *m,
static struct pgpath *choose_pgpath(struct multipath *m, size_t nr_bytes)
static bool __must_push_back(struct multipath *m)
static bool must_push_back_rq(struct multipath *m)
struct multipath *m = ti->private;
static void __multipath_queue_bio(struct multipath *m, struct bio *bio)
static void multipath_queue_bio(struct multipath *m, struct bio *bio)
static struct pgpath *__map_bio(struct multipath *m, struct bio *bio)
struct multipath *m; /* Owning multipath instance */
static int __multipath_map_bio(struct multipath *m, struct bio *bio,
struct multipath *m = ti->private;
static void process_queued_io_list(struct multipath *m)
struct multipath *m =
container_of(work, struct multipath, process_queued_bios);
static int queue_if_no_path(struct multipath *m, bool f_queue_if_no_path,
struct multipath *m = timer_container_of(m, t, nopath_timer);
static void enable_nopath_timeout(struct multipath *m)
static void disable_nopath_timeout(struct multipath *m)
struct multipath *m =
container_of(work, struct multipath, trigger_event);
static int setup_scsi_dh(struct block_device *bdev, struct multipath *m,
struct multipath *m = ti->private;
struct multipath *m)
if (!multipath) {
} else if (multipath) {
bool multipath = true;
if (!multipath || !ctrl->subsys ||
module_param_cb(multipath, &multipath_param_ops, &multipath, 0444);
MODULE_PARM_DESC(multipath,
multipath = true;
!multipath)
extern bool multipath;