• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/usr.sbin/mfiutil/

Lines Matching defs:config

91 	struct mfi_config_data *config;
96 * Keep fetching the config in a loop until we have a large enough
99 config = NULL;
102 config = reallocf(config, config_size);
103 if (config == NULL)
105 if (mfi_dcmd_command(fd, opcode, config,
108 free(config);
113 if (config->size > config_size) {
114 config_size = config->size;
118 *configp = config;
123 mfi_config_lookup_array(struct mfi_config_data *config, uint16_t array_ref)
129 p = (char *)config->array;
130 for (i = 0; i < config->array_count; i++) {
134 p += config->array_size;
141 mfi_config_lookup_volume(struct mfi_config_data *config, uint8_t target_id)
147 p = (char *)config->array + config->array_count * config->array_size;
148 for (i = 0; i < config->log_drv_count; i++) {
152 p += config->log_drv_size;
549 struct mfi_config_data *config;
585 config = NULL;
714 * Fetch the current config and build sorted lists of existing
717 if (mfi_config_read(fd, &config) < 0) {
722 p = (char *)config->array;
725 state.array_count = config->array_count;
726 if (config->array_count > 0) {
727 state.arrays = calloc(config->array_count, sizeof(int));
733 for (i = 0; i < config->array_count; i++) {
736 p += config->array_size;
738 qsort(state.arrays, config->array_count, sizeof(int),
742 state.log_drv_count = config->log_drv_count;
743 if (config->log_drv_count) {
744 state.volumes = calloc(config->log_drv_count, sizeof(int));
750 for (i = 0; i < config->log_drv_count; i++) {
753 p += config->log_drv_size;
755 qsort(state.volumes, config->log_drv_count, sizeof(int),
759 free(config);
785 config = calloc(1, config_size);
786 if (config == NULL) {
791 config->size = config_size;
792 config->array_count = narrays;
793 config->array_size = MFI_ARRAY_SIZE; /* XXX: Firmware hardcode */
794 config->log_drv_count = nvolumes;
795 config->log_drv_size = sizeof(struct mfi_ld_config);
796 config->spares_count = 0;
797 config->spares_size = 40; /* XXX: Firmware hardcode */
798 cfg_arrays = (char *)config->array;
799 cfg_volumes = cfg_arrays + config->array_size * narrays;
804 cfg_arrays += config->array_size;
813 cfg_volumes += config->log_drv_size;
818 dump_config(fd, config, NULL);
821 /* Send the new config to the controller. */
822 if (mfi_dcmd_command(fd, MFI_DCMD_CFG_ADD, config, config_size,
831 free(config);
926 struct mfi_config_data *config;
947 config = NULL;
973 if (mfi_config_read(fd, &config) < 0) {
980 config->array_count);
991 p = (char *)config->array;
992 for (i = 0; i < config->array_count; i++) {
1000 p += config->array_size;
1008 ld = mfi_config_lookup_volume(config, target_id);
1018 ar = mfi_config_lookup_array(config,
1021 warnx("Missing array; inconsistent config?");
1045 free(config);
1107 /* Display raw data about a config. */
1109 dump_config(int fd, struct mfi_config_data *config, const char *msg_prefix)
1124 msg_prefix, config->array_count, config->log_drv_count,
1125 config->spares_count);
1126 printf(" array size: %u\n", config->array_size);
1127 printf(" volume size: %u\n", config->log_drv_size);
1128 printf(" spare size: %u\n", config->spares_size);
1129 p = (char *)config->array;
1131 for (i = 0; i < config->array_count; i++) {
1154 p += config->array_size;
1157 for (i = 0; i < config->log_drv_count; i++) {
1186 p += config->log_drv_size;
1189 for (i = 0; i < config->spares_count; i++) {
1198 p += config->spares_size;
1206 struct mfi_config_data *config;
1221 /* Get the config from the controller. */
1222 if (mfi_config_read(fd, &config) < 0) {
1224 warn("Failed to get config");
1230 dump_config(fd, config, NULL);
1231 free(config);
1241 struct mfi_config_data *config;
1269 config = malloc(len);
1270 if (config == NULL) {
1275 if (sysctlbyname(buf, config, &len, NULL, 0) < 0) {
1278 free(config);
1282 dump_config(fd, config, NULL);
1283 free(config);