Lines Matching +full:pd +full:- +full:revision

1 /*-
2 * SPDX-License-Identifier: BSD-3-Clause
16 * 3. Neither the name of the author nor the names of any co-contributors
102 if (man0->Header.PageLength < sizeof(*man0) / 4) { in show_adapter()
109 printf(" Board Name: %.16s\n", man0->BoardName); in show_adapter()
110 printf(" Board Assembly: %.16s\n", man0->BoardAssembly); in show_adapter()
111 printf(" Chip Name: %.16s\n", man0->ChipName); in show_adapter()
112 printf(" Chip Revision: %.16s\n", man0->ChipRevision); in show_adapter()
120 if (ioc2->CapabilitiesFlags & in show_adapter()
125 if (ioc2->CapabilitiesFlags & in show_adapter()
130 if (ioc2->CapabilitiesFlags & in show_adapter()
135 if (ioc2->CapabilitiesFlags & in show_adapter()
140 if (ioc2->CapabilitiesFlags & in show_adapter()
145 if (ioc2->CapabilitiesFlags & in show_adapter()
150 if (ioc2->CapabilitiesFlags & in show_adapter()
166 ioc6->SupportedStripeSizeMapIS); in show_adapter()
168 ioc6->SupportedStripeSizeMapIME); in show_adapter()
169 printf(" RAID0 Drives/Vol: %u", ioc6->MinDrivesIS); in show_adapter()
170 if (ioc6->MinDrivesIS != ioc6->MaxDrivesIS) in show_adapter()
171 printf("-%u", ioc6->MaxDrivesIS); in show_adapter()
173 printf(" RAID1 Drives/Vol: %u", ioc6->MinDrivesIM); in show_adapter()
174 if (ioc6->MinDrivesIM != ioc6->MaxDrivesIM) in show_adapter()
175 printf("-%u", ioc6->MaxDrivesIM); in show_adapter()
177 printf("RAID1E Drives/Vol: %u", ioc6->MinDrivesIME); in show_adapter()
178 if (ioc6->MinDrivesIME != ioc6->MaxDrivesIME) in show_adapter()
179 printf("-%u", ioc6->MaxDrivesIME); in show_adapter()
201 size = ((uint64_t)info->MaxLBAHigh << 32) | info->MaxLBA; in print_vol()
204 if (info->VolumeType == MPI_RAID_VOL_TYPE_IM) in print_vol()
207 format_stripe(stripe, sizeof(stripe), info->StripeSize); in print_vol()
208 level = mpt_raid_level(info->VolumeType); in print_vol()
209 state = mpt_volstate(info->VolumeStatus.State); in print_vol()
211 printf("(%6s) %-8s %6s %-*s", buf, level, stripe, state_len, in print_vol()
225 humanize_number(buf, sizeof(buf), ((uint64_t)info->MaxLBA + 1) * 512, in print_pd()
229 printf("(%6s) %-*s", buf, state_len, state); in print_pd()
237 printf(" bus %d id %d", info->PhysDiskBus, info->PhysDiskID); in print_pd()
245 humanize_number(buf, sizeof(buf), (disk->maxlba + 1) * 512, in print_standalone()
248 printf("(%6s) %-*s", buf, state_len, STANDALONE_STATE); in print_standalone()
251 if (disk->inqstring[0] != '\0') in print_standalone()
252 printf(" %s", disk->inqstring); in print_standalone()
255 printf(" bus %d id %d", disk->bus, disk->target); in print_standalone()
325 mpt_unit, ioc2->NumActiveVolumes, ioc2->NumActivePhysDisks + in show_config()
327 vol = ioc2->RaidVolume; in show_config()
328 for (i = 0; i < ioc2->NumActiveVolumes; vol++, i++) { in show_config()
329 printf(" volume %s ", mpt_volume_name(vol->VolumeBus, in show_config()
330 vol->VolumeID)); in show_config()
331 vinfo = mpt_vol_info(fd, vol->VolumeBus, vol->VolumeID, NULL); in show_config()
333 printf("%s UNKNOWN", mpt_raid_level(vol->VolumeType)); in show_config()
335 print_vol(vinfo, -1); in show_config()
336 vnames = mpt_vol_names(fd, vol->VolumeBus, vol->VolumeID, NULL); in show_config()
338 if (vnames->Name[0] != '\0') in show_config()
339 printf(" <%s>", vnames->Name); in show_config()
347 disk = vinfo->PhysDisk; in show_config()
348 for (j = 0; j < vinfo->NumPhysDisks; disk++, j++) { in show_config()
349 printf(" drive %u ", disk->PhysDiskNum); in show_config()
350 pinfo = mpt_pd_info(fd, disk->PhysDiskNum, NULL); in show_config()
352 print_pd(pinfo, -1, 0); in show_config()
357 if (vinfo->VolumeSettings.HotSparePool != 0) { in show_config()
359 print_spare_pools(vinfo->VolumeSettings.HotSparePool); in show_config()
365 spare = ioc5->HotSpare; in show_config()
366 for (i = 0; i < ioc5->NumHotSpares; spare++, i++) { in show_config()
367 printf(" spare %u ", spare->PhysDiskNum); in show_config()
368 pinfo = mpt_pd_info(fd, spare->PhysDiskNum, NULL); in show_config()
370 print_pd(pinfo, -1, 0); in show_config()
373 printf(" backs pool %d\n", ffs(spare->HotSparePool) - 1); in show_config()
377 print_standalone(&sdisks[i], -1, 0); in show_config()
422 volumes = malloc(sizeof(*volumes) * ioc2->NumActiveVolumes); in show_volumes()
424 vol = ioc2->RaidVolume; in show_volumes()
425 for (i = 0; i < ioc2->NumActiveVolumes; vol++, i++) { in show_volumes()
426 volumes[i] = mpt_vol_info(fd, vol->VolumeBus, vol->VolumeID, in show_volumes()
432 volumes[i]->VolumeStatus.State)); in show_volumes()
438 len = state_len - strlen("State"); in show_volumes()
444 printf(" Write-Cache Name\n"); in show_volumes()
445 vol = ioc2->RaidVolume; in show_volumes()
446 for (i = 0; i < ioc2->NumActiveVolumes; vol++, i++) { in show_volumes()
447 printf("%6s ", mpt_volume_name(vol->VolumeBus, vol->VolumeID)); in show_volumes()
451 printf(" %-8s %-*s", in show_volumes()
452 mpt_raid_level(vol->VolumeType), state_len, in show_volumes()
455 if (volumes[i]->VolumeSettings.Settings & in show_volumes()
463 vnames = mpt_vol_names(fd, vol->VolumeBus, vol->VolumeID, NULL); in show_volumes()
465 if (vnames->Name[0] != '\0') in show_volumes()
466 printf(" <%s>", vnames->Name); in show_volumes()
517 for (i = 0; i < list->ndrives; i++) { in show_drives()
518 len = strlen(mpt_pdstate(list->drives[i])); in show_drives()
525 for (i = 0; i < list->ndrives; i++) { in show_drives()
526 printf("%4u ", list->drives[i]->PhysDiskNum); in show_drives()
527 print_pd(list->drives[i], state_len, 1); in show_drives()
575 print_pd(pinfo, -1, 1); in show_physdisks()
583 MPT_COMMAND(show, pd, show_physdisks);