Lines Matching refs:as

517 static int parse_path_selector(struct dm_arg_set *as, struct priority_group *pg,  in parse_path_selector()  argument
528 pst = dm_get_path_selector(dm_shift_arg(as)); in parse_path_selector()
534 r = dm_read_arg_group(_args, as, &ps_argc, &ti->error); in parse_path_selector()
540 r = pst->create(&pg->ps, ps_argc, as->argv); in parse_path_selector()
548 dm_consume_args(as, ps_argc); in parse_path_selector()
553 static struct pgpath *parse_path(struct dm_arg_set *as, struct path_selector *ps, in parse_path() argument
563 if (as->argc < 1) { in parse_path()
572 r = dm_get_device(ti, dm_shift_arg(as), dm_table_get_mode(ti->table), in parse_path()
634 r = ps->type->add_path(ps, &p->path, as->argc, as->argv, &ti->error); in parse_path()
647 static struct priority_group *parse_priority_group(struct dm_arg_set *as, in parse_priority_group() argument
660 if (as->argc < 2) { in parse_priority_group()
661 as->argc = 0; in parse_priority_group()
673 r = parse_path_selector(as, pg, ti); in parse_priority_group()
680 r = dm_read_arg(_args, as, &pg->nr_pgpaths, &ti->error); in parse_priority_group()
684 r = dm_read_arg(_args + 1, as, &nr_selector_args, &ti->error); in parse_priority_group()
693 if (as->argc < nr_args) { in parse_priority_group()
700 path_args.argv = as->argv; in parse_priority_group()
710 dm_consume_args(as, nr_args); in parse_priority_group()
720 static int parse_hw_handler(struct dm_arg_set *as, struct multipath *m) in parse_hw_handler() argument
730 if (dm_read_arg_group(_args, as, &hw_argc, &ti->error)) in parse_hw_handler()
736 m->hw_handler_name = kstrdup(dm_shift_arg(as), GFP_KERNEL); in parse_hw_handler()
749 len += strlen(as->argv[i]) + 1; in parse_hw_handler()
758 j = sprintf(p, "%s", as->argv[i]); in parse_hw_handler()
760 dm_consume_args(as, hw_argc - 1); in parse_hw_handler()
769 static int parse_features(struct dm_arg_set *as, struct multipath *m) in parse_features() argument
782 r = dm_read_arg_group(_args, as, &argc, &ti->error); in parse_features()
790 arg_name = dm_shift_arg(as); in parse_features()
805 r = dm_read_arg(_args + 1, as, &m->pg_init_retries, &ti->error); in parse_features()
812 r = dm_read_arg(_args + 2, as, &m->pg_init_delay_msecs, &ti->error); in parse_features()
835 struct dm_arg_set as; in multipath_ctr() local
839 as.argc = argc; in multipath_ctr()
840 as.argv = argv; in multipath_ctr()
848 r = parse_features(&as, m); in multipath_ctr()
852 r = parse_hw_handler(&as, m); in multipath_ctr()
856 r = dm_read_arg(_args, &as, &m->nr_priority_groups, &ti->error); in multipath_ctr()
860 r = dm_read_arg(_args + 1, &as, &next_pg_num, &ti->error); in multipath_ctr()
872 while (as.argc) { in multipath_ctr()
875 pg = parse_priority_group(&as, m); in multipath_ctr()