Lines Matching refs:cmd

60 unsigned arg_count(const struct cmd_context *cmd __attribute((unused)), int a)  in arg_count()
65 unsigned arg_is_set(const struct cmd_context *cmd, int a) in arg_is_set() argument
67 return arg_count(cmd, a) ? 1 : 0; in arg_is_set()
70 const char *arg_value(struct cmd_context *cmd __attribute((unused)), int a) in arg_value()
75 const char *arg_str_value(struct cmd_context *cmd, int a, const char *def) in arg_str_value() argument
77 return arg_count(cmd, a) ? _the_args[a].value : def; in arg_str_value()
80 int32_t arg_int_value(struct cmd_context *cmd, int a, const int32_t def) in arg_int_value() argument
82 return arg_count(cmd, a) ? _the_args[a].i_value : def; in arg_int_value()
85 uint32_t arg_uint_value(struct cmd_context *cmd, int a, const uint32_t def) in arg_uint_value() argument
87 return arg_count(cmd, a) ? _the_args[a].ui_value : def; in arg_uint_value()
90 int64_t arg_int64_value(struct cmd_context *cmd, int a, const int64_t def) in arg_int64_value() argument
92 return arg_count(cmd, a) ? _the_args[a].i64_value : def; in arg_int64_value()
95 uint64_t arg_uint64_value(struct cmd_context *cmd, int a, const uint64_t def) in arg_uint64_value() argument
97 return arg_count(cmd, a) ? _the_args[a].ui64_value : def; in arg_uint64_value()
100 const void *arg_ptr_value(struct cmd_context *cmd, int a, const void *def) in arg_ptr_value() argument
102 return arg_count(cmd, a) ? _the_args[a].ptr : def; in arg_ptr_value()
105 sign_t arg_sign_value(struct cmd_context *cmd, int a, const sign_t def) in arg_sign_value() argument
107 return arg_count(cmd, a) ? _the_args[a].sign : def; in arg_sign_value()
110 percent_t arg_percent_value(struct cmd_context *cmd, int a, const percent_t def) in arg_percent_value() argument
112 return arg_count(cmd, a) ? _the_args[a].percent : def; in arg_percent_value()
115 int arg_count_increment(struct cmd_context *cmd __attribute((unused)), int a) in arg_count_increment()
120 int yes_no_arg(struct cmd_context *cmd __attribute((unused)), struct arg *a) in yes_no_arg()
141 int yes_no_excl_arg(struct cmd_context *cmd __attribute((unused)), in yes_no_excl_arg()
180 int metadatatype_arg(struct cmd_context *cmd, struct arg *a) in metadatatype_arg() argument
187 dm_list_iterate_items(fmt, &cmd->formats) { in metadatatype_arg()
237 static int _size_arg(struct cmd_context *cmd __attribute((unused)), struct arg *a, int factor) in _size_arg()
309 int size_kb_arg(struct cmd_context *cmd, struct arg *a) in size_kb_arg() argument
311 return _size_arg(cmd, a, 2); in size_kb_arg()
314 int size_mb_arg(struct cmd_context *cmd, struct arg *a) in size_mb_arg() argument
316 return _size_arg(cmd, a, 2048); in size_mb_arg()
319 int int_arg(struct cmd_context *cmd __attribute((unused)), struct arg *a) in int_arg()
329 int int_arg_with_sign(struct cmd_context *cmd __attribute((unused)), struct arg *a) in int_arg_with_sign()
339 int int_arg_with_sign_and_percent(struct cmd_context *cmd __attribute((unused)), in int_arg_with_sign_and_percent()
369 int minor_arg(struct cmd_context *cmd __attribute((unused)), struct arg *a) in minor_arg()
384 int major_arg(struct cmd_context *cmd __attribute((unused)), struct arg *a) in major_arg()
401 int string_arg(struct cmd_context *cmd __attribute((unused)), in string_arg()
407 int tag_arg(struct cmd_context *cmd __attribute((unused)), struct arg *a) in tag_arg()
422 int permission_arg(struct cmd_context *cmd __attribute((unused)), struct arg *a) in permission_arg()
438 int alloc_arg(struct cmd_context *cmd __attribute((unused)), struct arg *a) in alloc_arg()
453 int segtype_arg(struct cmd_context *cmd, struct arg *a) in segtype_arg() argument
455 if (!(a->ptr = (void *) get_segtype_from_string(cmd, a->value))) in segtype_arg()
464 int readahead_arg(struct cmd_context *cmd __attribute((unused)), struct arg *a) in readahead_arg()
476 if (!_size_arg(cmd, a, 1)) in readahead_arg()
653 static int _process_command_line(struct cmd_context *cmd, int *argc, in _process_command_line() argument
674 for (i = 0; i < cmd->command->num_args; i++) in _process_command_line()
675 _add_getopt_arg(cmd->command->valid_args[i], &ptr, &o); in _process_command_line()
688 a = _find_arg(cmd->command, opt); in _process_command_line()
712 if (!a->fn(cmd, a)) { in _process_command_line()
726 static int _merge_synonym(struct cmd_context *cmd, int oldarg, int newarg) in _merge_synonym() argument
731 if (arg_count(cmd, oldarg) && arg_count(cmd, newarg)) { in _merge_synonym()
737 if (!arg_count(cmd, oldarg)) in _merge_synonym()
754 int version(struct cmd_context *cmd __attribute((unused)), in version()
769 static int _get_settings(struct cmd_context *cmd) in _get_settings() argument
771 cmd->current_settings = cmd->default_settings; in _get_settings()
773 if (arg_count(cmd, debug_ARG)) in _get_settings()
774 cmd->current_settings.debug = _LOG_FATAL + in _get_settings()
775 (arg_count(cmd, debug_ARG) - 1); in _get_settings()
777 if (arg_count(cmd, verbose_ARG)) in _get_settings()
778 cmd->current_settings.verbose = arg_count(cmd, verbose_ARG); in _get_settings()
780 if (arg_count(cmd, quiet_ARG)) { in _get_settings()
781 cmd->current_settings.debug = 0; in _get_settings()
782 cmd->current_settings.verbose = 0; in _get_settings()
785 if (arg_count(cmd, test_ARG)) in _get_settings()
786 cmd->current_settings.test = arg_count(cmd, test_ARG); in _get_settings()
788 if (arg_count(cmd, driverloaded_ARG)) { in _get_settings()
789 cmd->current_settings.activation = in _get_settings()
790 arg_int_value(cmd, driverloaded_ARG, in _get_settings()
791 cmd->default_settings.activation); in _get_settings()
794 cmd->current_settings.archive = arg_int_value(cmd, autobackup_ARG, cmd->current_settings.archive); in _get_settings()
795 cmd->current_settings.backup = arg_int_value(cmd, autobackup_ARG, cmd->current_settings.backup); in _get_settings()
796 cmd->current_settings.cache_vgmetadata = cmd->command->flags & CACHE_VGMETADATA ? 1 : 0; in _get_settings()
797 cmd->partial_activation = 0; in _get_settings()
799 if (arg_count(cmd, partial_ARG)) { in _get_settings()
800 cmd->partial_activation = 1; in _get_settings()
805 if (arg_count(cmd, ignorelockingfailure_ARG)) in _get_settings()
810 if (arg_count(cmd, nosuffix_ARG)) in _get_settings()
811 cmd->current_settings.suffix = 0; in _get_settings()
813 if (arg_count(cmd, units_ARG)) in _get_settings()
814 if (!(cmd->current_settings.unit_factor = in _get_settings()
815 units_to_bytes(arg_str_value(cmd, units_ARG, ""), in _get_settings()
816 &cmd->current_settings.unit_type))) { in _get_settings()
821 if (arg_count(cmd, trustcache_ARG)) { in _get_settings()
822 if (arg_count(cmd, all_ARG)) { in _get_settings()
832 if (arg_count(cmd, noudevsync_ARG)) in _get_settings()
833 cmd->current_settings.udev_sync = 0; in _get_settings()
836 if (!_merge_synonym(cmd, resizable_ARG, resizeable_ARG) || in _get_settings()
837 !_merge_synonym(cmd, allocation_ARG, allocatable_ARG) || in _get_settings()
838 !_merge_synonym(cmd, allocation_ARG, resizeable_ARG) || in _get_settings()
839 !_merge_synonym(cmd, virtualoriginsize_ARG, virtualsize_ARG) || in _get_settings()
840 !_merge_synonym(cmd, metadatacopies_ARG, pvmetadatacopies_ARG)) in _get_settings()
847 static int _process_common_commands(struct cmd_context *cmd) in _process_common_commands() argument
849 if (arg_count(cmd, help_ARG) || arg_count(cmd, help2_ARG)) { in _process_common_commands()
850 _usage(cmd->command->name); in _process_common_commands()
854 if (arg_count(cmd, version_ARG)) { in _process_common_commands()
855 return version(cmd, 0, (char **) NULL); in _process_common_commands()
877 int help(struct cmd_context *cmd __attribute((unused)), int argc, char **argv) in help()
893 static void _apply_settings(struct cmd_context *cmd) in _apply_settings() argument
895 init_debug(cmd->current_settings.debug); in _apply_settings()
896 init_verbose(cmd->current_settings.verbose + VERBOSE_BASE_LEVEL); in _apply_settings()
897 init_test(cmd->current_settings.test); in _apply_settings()
901 init_msg_prefix(cmd->default_settings.msg_prefix); in _apply_settings()
902 init_cmd_name(cmd->default_settings.cmd_name); in _apply_settings()
904 archive_enable(cmd, cmd->current_settings.archive); in _apply_settings()
905 backup_enable(cmd, cmd->current_settings.backup); in _apply_settings()
907 set_activation(cmd->current_settings.activation); in _apply_settings()
909 cmd->fmt = arg_ptr_value(cmd, metadatatype_ARG, in _apply_settings()
910 cmd->current_settings.fmt); in _apply_settings()
911 cmd->handles_missing_pvs = 0; in _apply_settings()
914 static const char *_copy_command_line(struct cmd_context *cmd, int argc, char **argv) in _copy_command_line() argument
922 if (!dm_pool_begin_object(cmd->mem, 128)) in _copy_command_line()
928 if (space && !dm_pool_grow_object(cmd->mem, "'", 1)) in _copy_command_line()
931 if (!dm_pool_grow_object(cmd->mem, argv[i], strlen(argv[i]))) in _copy_command_line()
934 if (space && !dm_pool_grow_object(cmd->mem, "'", 1)) in _copy_command_line()
938 if (!dm_pool_grow_object(cmd->mem, " ", 1)) in _copy_command_line()
945 if (!dm_pool_grow_object(cmd->mem, "\0", 1)) in _copy_command_line()
948 return dm_pool_end_object(cmd->mem); in _copy_command_line()
952 dm_pool_abandon_object(cmd->mem); in _copy_command_line()
956 int lvm_run_command(struct cmd_context *cmd, int argc, char **argv) in lvm_run_command() argument
966 if (!(cmd->cmd_line = _copy_command_line(cmd, argc, argv))) { in lvm_run_command()
971 log_debug("Parsing: %s", cmd->cmd_line); in lvm_run_command()
973 if (!(cmd->command = _find_command(argv[0]))) in lvm_run_command()
976 if (!_process_command_line(cmd, &argc, &argv)) { in lvm_run_command()
981 set_cmd_name(cmd->command->name); in lvm_run_command()
983 if (arg_count(cmd, config_ARG)) in lvm_run_command()
984 if ((ret = override_config_tree_from_string(cmd, in lvm_run_command()
985 arg_str_value(cmd, config_ARG, "")))) { in lvm_run_command()
990 if (arg_count(cmd, config_ARG) || !cmd->config_valid || config_files_changed(cmd)) { in lvm_run_command()
992 if (!refresh_toolcontext(cmd)) { in lvm_run_command()
998 if ((ret = _get_settings(cmd))) in lvm_run_command()
1000 _apply_settings(cmd); in lvm_run_command()
1002 log_debug("Processing: %s", cmd->cmd_line); in lvm_run_command()
1008 if ((ret = _process_common_commands(cmd))) in lvm_run_command()
1011 if (arg_count(cmd, nolocking_ARG)) in lvm_run_command()
1016 if (!init_locking(locking_type, cmd)) { in lvm_run_command()
1023 ret = cmd->command->fn(cmd, argc, argv); in lvm_run_command()
1030 lvmcache_destroy(cmd, 1); in lvm_run_command()
1033 if (cmd->cft_override) { in lvm_run_command()
1034 destroy_config_tree(cmd->cft_override); in lvm_run_command()
1035 cmd->cft_override = NULL; in lvm_run_command()
1037 if (!refresh_toolcontext(cmd)) in lvm_run_command()
1042 cmd->current_settings = cmd->default_settings; in lvm_run_command()
1043 _apply_settings(cmd); in lvm_run_command()
1046 _short_usage(cmd->command->name); in lvm_run_command()
1048 log_debug("Completed: %s", cmd->cmd_line); in lvm_run_command()
1053 dm_pool_empty(cmd->mem); in lvm_run_command()
1175 struct cmd_context *cmd; in init_lvm() local
1179 if (!(cmd = create_toolcontext(0, NULL))) in init_lvm()
1183 destroy_toolcontext(cmd); in init_lvm()
1187 return cmd; in init_lvm()
1200 void lvm_fin(struct cmd_context *cmd) in lvm_fin() argument
1203 destroy_toolcontext(cmd); in lvm_fin()
1206 static int _run_script(struct cmd_context *cmd, int argc, char **argv) in _run_script() argument
1245 ret = lvm_run_command(cmd, argc, argv); in _run_script()
1264 static int _lvm1_fallback(struct cmd_context *cmd) in _lvm1_fallback() argument
1269 if (!find_config_tree_int(cmd, "global/fallback_to_lvm1", in _lvm1_fallback()
1271 strncmp(cmd->kernel_vsn, "2.4.", 4)) in _lvm1_fallback()
1278 if (dm_present || !lvm1_present(cmd)) in _lvm1_fallback()
1307 struct cmd_context *cmd; in lvm2_main() local
1324 if (!(cmd = init_lvm())) in lvm2_main()
1327 cmd->argv = argv; in lvm2_main()
1330 if (_lvm1_fallback(cmd)) { in lvm2_main()
1348 ret = lvm_shell(cmd, &_cmdline); in lvm2_main()
1366 ret = lvm_run_command(cmd, argc, argv); in lvm2_main()
1368 ret = _run_script(cmd, argc, argv); in lvm2_main()
1378 lvm_fin(cmd); in lvm2_main()