Lines Matching full:arrays
275 int *arrays; member
398 if (state->arrays[i] == state->array_ref) in find_next_array()
449 * Create a volume that spans one or more arrays.
452 build_volume(char *volumep, int narrays, struct array_info *arrays, in build_volume() argument
508 * or RAID-60 arrays. The only nested array in build_volume()
527 ld->params.num_drives = arrays[0].array->num_drives; in build_volume()
535 ar = arrays[i].array; in build_volume()
556 struct array_info *arrays; in create_volume() local
585 arrays = NULL; in create_volume()
649 /* Parse all the arrays. */ in create_volume()
678 warnx("Volume spans more than %d arrays", in create_volume()
685 arrays = calloc(narrays, sizeof(*arrays)); in create_volume()
686 if (arrays == NULL) { in create_volume()
692 error = parse_array(fd, raid_type, av[i], &arrays[i]); in create_volume()
702 if (arrays[i].drive_count != arrays[0].drive_count) { in create_volume()
703 warnx("All arrays must contain the same " in create_volume()
726 state.arrays = calloc(config->array_count, sizeof(int)); in create_volume()
727 if (state.arrays == NULL) { in create_volume()
734 state.arrays[i] = ar->array_ref; in create_volume()
737 qsort(state.arrays, config->array_count, sizeof(int), in create_volume()
740 state.arrays = NULL; in create_volume()
774 /* A single volume spans multiple arrays. */ in create_volume()
800 /* Build the arrays. */ in create_volume()
802 build_array(fd, cfg_arrays, &arrays[i], &state, verbose); in create_volume()
810 &arrays[i * arrays_per_volume], raid_type, stripe_size, in create_volume()
832 free(state.arrays); in create_volume()
833 if (arrays != NULL) { in create_volume()
835 free(arrays[i].drives); in create_volume()
836 free(arrays); in create_volume()
989 /* Global spare backs all arrays. */ in add_spare()
1004 * Dedicated spares only back the arrays for a in add_spare()
1122 "%s %s: %d arrays, %d volumes, %d spares\n", mfi_device, in dump_config()