Lines Matching defs:spare
391 * HSP currently has a sufficient spare, if not, try
394 * If a spare cannot be found for any device component,
457 /* and list of slices of sufficient size to spare for them */
492 * has a suitable spare. If not, select the best available
555 * PURPOSE: Final assembly of an HSP. Attach new spare components
752 * PURPOSE: Find a spare for the input component.
757 * A suffcient spare is one that is large enough to spare
761 * The optimal spare would be on a different controller/HBA
785 devconfig_t *spare = (devconfig_t *)iter->obj;
789 if (((error = devconfig_get_name(spare, &spname)) != 0) ||
790 ((error = devconfig_get_size(spare, &spsize)) != 0)) {
798 /* see if spare's disk is independent of the volume */
812 gettext(" found existing spare for: %s (%llu)\n"),
832 * npaths - required number of paths for the spare
843 * PURPOSE: Find a new spare for the input component.
845 * Select a spare from the available slice list and add
848 * The spare slice chosen should be on a unique HBA and
862 devconfig_t *spare = NULL;
872 gettext(" select new spare for: %s (%llu)\n"),
877 * find a spare for the input component.
892 used_hbas, used_disks, B_TRUE, B_TRUE, B_FALSE, &spare);
894 if ((error == 0) && (spare == NULL)) {
910 used_disks, B_FALSE, B_TRUE, B_FALSE, &spare);
913 if ((error == 0) && (spare != NULL)) {
919 if ((item = dlist_new_item(spare)) == NULL) {
923 /* add spare to the all spares list */
926 if ((item = dlist_new_item(spare)) == NULL) {
930 /* add spare to the new spares list */
936 *avail = dlist_remove_equivalent_item(*avail, spare,
944 /* add the spare to the used slice list */
945 error = devconfig_get_name(spare, &spname);
954 /* no spare, give up on layout */